前言:最近在研究ocr识别,通过了解后找到了paddleocr,但是使用过程中出现了问题,经过一番折腾终于解决了,在这里分享给大家。很多文章安装等环节介绍的很详细,在这里简单概括具体步骤,其他文章没有提及的会多说些:
第一步:安装相关包,在Windows PowerShell管理员模式下运行如下代码:
pip install paddlepaddle
pip install paddleocr
第二步:下载paddleocr代码从gitee paddleocr官方,下载后的文件名字是PaddleOCR,我放置到下面的路径(gitee paddleocr官方网址:https://gitee.com)
C:\Users\用户名\PycharmProjects\paddleocr
第三步:在下载好的文件夹中,有一个叫requirements.txt的文本,打开它,里面罗列出来需要依赖的其他库,注意,有的库有版本限制。之后根据自身情况,安装缺少的库。
坑:shapely 的版本必须必须必须是 1.7.1 ,不能比这高!!!requirements.txt 也没有这个提示。如果比这个版本高,不会正常运行,而且还不会报错,而是返回 ‘退出代码为 -1073741819 (0xC0000005) 的字样’。 泪奔了,找了2天终于解决了...
第四步:在gitee paddleocr官方网址,下载3个模型库,具体需要下载的三个模型如图所示。3个压缩包解压后放置在命名为inference文件夹里面,inference文件夹放置在PaddleOCR文件夹里面。此时的文件夹结构如下:
C:\Users\用户名\PycharmProjects\paddleocr\PaddleOCR\inference
坑:有的文章推荐下载 中英文超轻量PP-OCR mobile模型(9.4M),但是我这面下载解压后,发现 有个推理模型压缩包里面只有1个文件,缺失文件会导致后续报错。所以在这里我用的是 第1个推理模型。
坑:解压后是不能直接用的!要把里面3个文件都拿出来,放到各自的文件夹下,具体路径如下:
C:\Users\用户名\PycharmProjects\paddleocr\PaddleOCR\inference\cls 下有3个文件
C:\Users\用户名\PycharmProjects\paddleocr\PaddleOCR\inference\det 下有3个文件
C:\Users\用户名\PycharmProjects\paddleocr\PaddleOCR\inference\rec 下有3个文件
提示:有的可能有 ._ch_PP-OCRv2_rec_infer 文件在rec文件夹下,._ch_PP-OCRv2_det_infer在det文件夹下 这个不用管。
第五步:为了方便检验 库能否用,将准备好的 4.jpg 图片放在PaddleOCR文件夹下
第六步:在PaddleOCR文件夹空白处,按住shift+ctrl+鼠标右键,点击 在此处打开PowerShell窗口。输入下面的命令:
python tools/infer/predict_system.py --image_dir="4.jpg" --det_model_dir="./inference/det/" --rec_model_dir="./inference/rec/" --cls_model_dir="./inference/cls/" --use_angle_cls=True --use_space_char=False --use_gpu=False
之后可以看到:
库运行成功
坑:我了解到有的电脑需要安装Visual Studio才能正常使用,如果没有成功运行,可以尝试一下。安装时选上 本机开发工具,一般默认不选。
第七步:现在想在pycharm使用这个库,在PaddleOCR文件夹创建一个test.py文件,输入下面的代码:
from paddleocr import PaddleOCR
# 很多文章没有 lang="ch" 后面的代码,导致不断报错,无法运行!
ocr = PaddleOCR(use_angle_cls=True, lang="ch", det_model_dir="./inference/det/",rec_model_dir="./inference/rec/",cls_model_dir="./inference/cls/")
img_path = '4.jpg'
result = ocr.ocr(img_path, cls=True)
for line in result:
print(line)
可以看到,运行成功!