01.前言
近期由于参加一个文字识别的项目,被推荐使用了paddleocr进行文字识别,但过程还是比我预估的艰难,并且并不是很熟练,在这里留下一篇文章用来给以后和其他人提供帮助,如果有同志对paddleocr有更深刻的理解或者对本文章内容存疑,尽可能的在评论区提出,感谢大家的帮助。
02.从安装开始
安装没什么好说的,通过从某站和浏览器查询就可以得到安装的方式,最容易的安装方式就是用pip或者conda安装。一般情况是先安装paddlepaddle然后安装paddleocr包,但是发现安装paddlepaddle-gpu包(paddlepaddle的gpu版本,可以使用gpu加速)同样可以运行,毕竟不过是使用了gpu版本而已(*^_^*)。当然,paddleocr的安装也有不少坑,其中最大的就是安装不下来,我这里用的是anaconda来安装的环境,解释器是python3.9,然后用下面镜像源安装的:
https://pypi.douban.com/simple/
如果不加镜像源,很有可能安装失败,具体原因不知道为什么,反正就是报错,大概是网络原因。
事实上,还可以在paddlepaddle官网上安装paddleocr,进入官网后往下翻到一系列产品。
开发套件的最后一个就是paddleocr,点进去是从github上直接下的,下载后解压还要安装里面有一个txt文件写明需要的其他包,总的来说不如用anaconda下载来的方便。
至于paddlepaddle-gpu的下载直接在paddlepaddle官网选择合适自己机型的指令复制到anaconda的prompt中即可。
03.如何使用paddleocr
如何使用创建好的环境就不用多说了,直接网上一搜一大把,无论是vscode还是pycharm都可以。
先写一段最简单的代码
from paddleocr import PaddleOCR
ocr = PaddleOCR(use_angle_cls=True,lang='ch',use_gpu=True)#创建模型对象
imgage_path=r'xxx\xxx\xxx.jpg'#图片路径
img = ocr.ocr(imgage_path,bin=False,inv=False,cls=True)#使用模型进行对图片的文字识别
print(img)
这五行代码就可以利用paddleocr来进行文字识别,当然,尽管准确率还不错,但是还不能满足比较高的要求。
03.1.创建模型对象
其中,在创建PaddleOCR类型的对象时,有几个参数需要设置(作者暂时确定的,其他的还没时间确定)。
use_angle_cls:是否启用方向识别模型,说白了就是判断文字方向,就比如如果文字不是正的,会自动辨别,据说只能辨别0°还活着180°方向的文字。但是在使用过程中,发现其实其他角度的只要不是太歪就也可以。但是似乎对完全旋转90°横向的文字似乎无法辨别,如以下图片。