cnocr

cnocr是用来做中文OCR的Python 3包。cnocr自带了训练好的识别模型,所以安装后即可直接使用。目前使用的识别模型是crnn,识别准确度约为 98.7%。

安装:pip install cnocr

代码引用

1
2
3
4
from cnocr import CnOcr 
ocr = CnOcr()
res = ocr.ocr_for_single_line('test.png')
print("Predicted Chars:", res)

首次使用cnocr时,系统会自动从Dropbox下载zip格式的模型压缩文件,并存于 /.cnocr目录。 下载后的zip文件代码会自动对其解压,然后把解压后的模型相关文件放于/.cnocr/models目录。 如果系统不能自动从Dropbox成功下载zip文件,则需要手动下载此zip文件并把它放于 ~/.cnocr目录。 另一个下载地址是百度云盘(提取码为pg26)。 放置好zip文件后,后面的事代码就会自动执行了。

但是这样的识别并不准确,当图片中的文字太复杂的时候就需要另一个库的支持用于识别文字。

cnstd

安装:pip install cnstd

该库可以与cnocr无缝衔接:

1
2
3
4
5
6
7
8
9
10
11
12
from cnstd import CnStd
from cnocr import CnOcr

std = CnStd()
cn_ocr = CnOcr()

box_infos = std.detect('examples/taobao.jpg')

for box_info in box_infos['detected_texts']:
cropped_img = box_info['cropped_img']
ocr_res = cn_ocr.ocr_for_single_line(cropped_img)
print('ocr result: %s' % str(ocr_res))

官方链接: cnstd cnocr