使用Python进行文字识别
一、安装pip
可以参考https://www.cnblogs.com/Javame/p/10918325.html
安装依赖库
pip install pytesseract pyocr pillow Image
二、下载并安装 tesseract-ocr:
然后要安装一个Tesseract-OCR软件。这个软件是由Google维护的开源的OCR软件。
下载地址:百度网盘(密码:5m3d)。
再在Windows下配置一下环境变量,把Tesseract.exe所在目录添加到Path下。
三、修改pytesseract.py(此步可以省略,新版本不需要修改)
位置:…\lib\site-packages\pytesseract\pytesseract.py
//找到此处
tesseract_cmd = 'tesseract.exe'
tesseract.exe来源第二步安装后Tesseract-OCR/tesseract.exe执行文件快捷方式。
四、找张测试图片
- 英文测试图片
- 中文测试图片
五、Python代码
//图片路径改成自己实际路径
from PIL import Image
import pytesseract
image = Image.open(r'E:\test.png')
code = pytesseract.image_to_string(image)
print(code)
六、执行脚本
七、中文识别
- 识别简体中文,需要事先安装简体中文语言包,前面的百度网盘地址里有,也可以通过下载地址:https://github.com/tesseract-ocr/tessdata/find/master/chi_sim.traineddata ,再将chi_sim.traineddata放在C:\Program Files (x86)\Tesseract-OCR\tessdata目录下。
- 代码
//图片路径改成自己实际路径
from PIL import Image
import pytesseract
image = Image.open(r'D:\test\test_python.png')
code = pytesseract.image_to_string(image,lang='chi_sim')
print(code)
- 测试图片使用上面的中文图片
- 执行结果:
- 显示,这样的结果不能满足实用的要求。
八、使用baidu-aip文字识别算法
-
打开百度AI平台主页,https://ai.baidu.com/
-
登陆自己的百度账号。
-
点击右上角的控制台按钮,
-
点击产品预览》》选择文字识别
-
首次进入,需要创建项目,创建完项目,在应用列表中选择项目,就可以看到我们需要的APPID和API Key,还有秘钥
-
代码
from aip import AipOcr
import re
APP_ID = '自己的APP_ID'
API_KEY = '自己申请的API_KEY'
SECRET_KEY = '自己申请的SECRET_KEY'
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
i = open(r'D:\test\test_python.png', 'rb')
img = i.read()
message = client.basicGeneral(img);
for i in message.get('words_result'):
print(i.get('words'))
- 测试图片还是上面提到的中文图片
- 执行结果:
- 对比tesseract-ocr,百度AI的图片识别效果好的真不是一点点,百度AI没有出现错误。