当前位置:网站首页>Hands-on OCR (1)
Hands-on OCR (1)
2022-08-02 14:18:00 【weixin_50862344】
文本检测:DBNet
环境:paddle
import matplotlib
from Cython import inline
from paddleocr import PaddleOCR
ocr=PaddleOCR()
#修改图片路径
img_path='D:/computervision/ocr/ppocr_img/imgs/12.jpg'
result =ocr.ocr(img_path,rec=False)
print(f'the predict as follow')
print(result)
import numpy as np
import cv2
import matplotlib.pyplot as plt
image = cv2.imread(img_path)
#The following sentence seems optional and does not affect the structure
boxes=[line[0] for line in result]
for box in result:
box=np.reshape(np.array(box),[-1,1,2]).astype(np.int64)
image=cv2.polylines(np.array(image),[box],True,(255,0,0),2)
plt.figure(figsize=(10,10))
#The code has been modified here
plt.imshow(image)
plt.show()
paddle
- 核心代码
声明PaddleOCR类:
ocr=PaddleOCR()
- 执行预测:
result =ocr.ocr(img_path,rec=False)
- 运行结果

- Please explain other libraries
- reshape改变数组形状
- 参数
(1)传入数组
(2)排序方式
A shape dimension can be-1.在这种情况下,The value is inferred from the length and remaining dimensions of the array.
Example from withcsdnanother blogger
(3)order
‘C’ means C order, ‘F’ means Fortran order
orderIn fact, I don't really understand it to be honest,I'll add it when I figure it out
2)astype
强制转化数据类型
3)figure
figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)
- 作用:My understanding is kind of likejavafx的scence.
- 参数
num:图像编号或名称,数字为编号 ,字符串为名称
figsize:指定figure的宽和高,单位为英寸;
dpi参数:指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80
facecolor:背景颜色
edgecolor:边框颜色
frameon:是否显示边框
DB文本检测模型
import paddle
import os
import sys
import importlib
# paddleocr_path='D:/computervision/ocr/PaddleOCR-release-2.5/PaddleOCR-release-2.5/ppocr'
# sys.path.append( paddleocr_path )
# os.chdir(paddleocr_path)
# print("当前工作目录"+os.getcwd())
#import into the path
from ppocr.modeling.backbones.det_mobilenet_v3 import MobileNetV3
fake_input=paddle.randn([1,3,640,640],dtype='float32')
model_backbone=MobileNetV3()
model_backbone.eval()
outs=model_backbone(fake_input)
print(model_backbone)
for idx,out in enumerate(outs):
print("the index",idx,"shape:",out.shape)
ppocrThe path is different from the current file working path and was not found at first,I tried many methods to no avail,used in the article第2种办法to read the file
边栏推荐
- Flask框架的搭建及入门
- 世界上最大的开源基金会 Apache 是如何运作的?
- 关于密码加密的一点思路
- yolov5,yolov4,yolov3乱七八糟的
- 【Tensorflow】AttributeError: module 'keras.backend' has no attribute 'tf'
- RKMPP API安装使用总结
- You can't accept 60% slump, there is no eligible for gain of 6000% in 2021-05-27
- 标量替换、栈上分配、同步消除
- MobileNet ShuffleNet & yolov5 replace backbone
- Supervision strikes again, what about the market outlook?2021-05-22
猜你喜欢
随机推荐
About the development forecast of the market outlook?2021-05-23
Minio文件上传
Flask上下文,蓝图和Flask-RESTful
史上最全!47个“数字化转型”常见术语合集,看完秒懂~
第十五单元 分页、过滤
AWVS工具介绍[通俗易懂]
LayoutParams的详解
The most complete ever!A collection of 47 common terms of "digital transformation", read it in seconds~
RKMPP API安装使用总结
xshell连接虚拟机步骤_建立主机与vm虚拟机的网络连接
线代:已知一个特征向量快速求另外两个与之正交的特征向量
期货具体是如何开户的?
Tornado框架路由系统介绍及(IOloop.current().start())启动源码分析
Swagger 的使用
你接受不了60%的暴跌,就没有资格获得6000%的涨幅 2021-05-27
【Tensorflow】AttributeError: module ‘keras.backend‘ has no attribute ‘tf‘
如何解决mysql服务无法启动1069
Geoffery Hinton:深度学习的下一个大事件
世界上最大的开源基金会 Apache 是如何运作的?
浅浅写一下PPOCRLabel的使用及体验









