python图像文字识别算法_另一种用python识别图片文字的方法

在《怎么用python识别图片中的文字?》里面,我介绍了使用百度AI的文字识别功能识别图片文字的方法。

今天,终于安装了Pillow模块,于是得到另一种识别图片的方法。

下图是两种方法的识别结果。

cca2552c56ee7b7f762999c66ef4fcf5ef0d41bf.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

工具/原料

电脑

python3

准备工作

1

python3以上的版本,没有对应的PIL模块,需要你用pip安装pillow模块。

7a3e980e7c75e5f40fd20bbeb1ceaad7736bbcbf.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

2

还需要安装pytesseract模块,看下面的图。

e4b5e2f5ee0d3ace5cf097d887e265e7350fbbbf.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

3

下载并安装tesseract-ocr:

下载地址是: https://pan.baidu.com/s/1dGZDb4P 。

压缩包大小是33.8MB。

密码是fnxr。

64a62a0f64781423439e938daac2bbd6e0d0b2bf.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

4

解压之后,有三个文件夹,包括:

源码、安装包、中文语言包。

请点击tesseract-ocr-setup.exe进行安装,安装的时候,请记住安装目录。

ba97ffd06de89a61820da42045e8b004551badbf.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

5

安装完成之后,把中文语言包里面的文件,移动到Tesseract-OCR安装目录下的tessdata文件夹里面。

f367139a310e1799e7025f0bc9406afec214a3bf.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

6

然后打开pytesseract扩展包里面的pytesseract.py文件,修改代码:

把tesseract_cmd后面的参数,改为tesseract.exe的绝对路径。

到此,准备工作就算是完成了。

94af5fc1b727ac531ea0749f2ecadce8914899bf.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

END

试验

1

导入模块:

from PIL import Image

import pytesseract

5e615d715fdb36209d12283aabc5260f89358dbf.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

2

加载图片:

a = Image.open('C:……/b.png')

3931cb413a8ca6089427714fdb8c9bcec6f8febf.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

3

显示图片:

a.show()

2e66f9ef28066b01acf5d6f33df39187021cf3bf.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

4

识别图片里面的文字:

text=pytesseract.image_to_string(a,lang='chi_sim')

指定语言为中文。

256eb672941fbee47ef215edc1237971ff1de7bf.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

5

输出识别结果:

print(text)

19587f20a7cd0c6eafdae700fed7997bbaf4ddbf.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

6

准确率如何?

我只能说,结果不佳。

对比一下原图。

983aa5f4da5872da856184bc0056ad042f68d4bf.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

7

再换一幅图片。

604e9556ad042e6877c1b45285f85856d43dd1bf.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

8

识别结果,让人抓狂。

50a010f85856d53dcd0c3d5a47d2bb665059cabf.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

9

对比:

pytesseract识别中文;

百度AI识别中文。

ba274f598540102a68cadb11b142a07aa110c5bf.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

END

注意事项

与《怎么用python识别图片中的文字?》里面的方法进行对比,可以发现,外国的中文文字识别能力,与本土的百度AI的识别能力,差的不是一丁半点。

经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。

举报作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。

展开阅读全部

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值