Python实现图片中英文信息识别
1)Python版本:3.x
2)安装PIL、pytesseract
3)安装识别引擎tesseract-ocr
4)测试两张图片,denggao.jpg(中文信息)、test.jpg(英文信息)
2.安装操作
1)进入cmd界面,执行以下两行命令,进行PIL和pytesseract的安装(界面可看安装进度条):
pip install PIL
pip install pytesseract
2)测试安装成功与否,在Python界面执行以下语句,不报错即安装成功:
from PIL import Image
import pytesseract
3.安装好PIL和pytesseract之后,运行下面代码:
# # 对于中文信息的提取,需要加lang='chi_sim',调用中文词库
from PIL import Image
import pytesseract
text=pytesseract.image_to_string(Image.open('C:\\Users\\Administrator\\Desktop\\denggao.jpg'),lang='chi_sim')
print(text)
报这样的错误,原因包含2个:其一,图片路径错误;其二,没有安装识别引擎tesseract-ocr。
我们进行原因排查,运行下面代码:
from skimage import io
img=io.imread('C:\\Users\\Administrator\\Desktop\\denggao.jpg')
io.imshow(img)
如果not such file则表示物理路径出错了,如果能浏览到图片,则表示路径没问题,可以看到:
from skimage import io
img=io.imread('C:\\Users\\Administrator\\Desktop\\test.jpg')
io.imshow(img)
在确认物理地址读取没有问题之后,如果执行前面获取信息的语句仍然报错,那么原因就可以锁定为没有安装识别引擎tesseract-ocr。
4.安装识别引擎tesseract-ocr
1)下载下面的安装包,然后直接点击安装即可:
http://download.****.net/download/qq_40426415/10237320
3)安装完成tesseract-ocr后,我们还需要做一下配置
方法1:
在C:\Anaconda3\Lib\site-packages\ptyprocess找到pytesseract.py打开后做如下操作:
# CHANGE THIS IF TESSERACT IS NOT IN YOUR PATH, OR IS NAMED DIFFERENTLY
#tesseract_cmd = 'tesseract'
tesseract_cmd = 'C:/Program Files (x86)/Tesseract-OCR/tesseract.exe'
方法2:
在Python变成页面,Ctrl+鼠标右键,选择import pytesseract中的pytesseract,快速打开pytesseract.py进行路径修改;
5.至此我们所有的配置就完成了,运行下面代码就可以从图片中解析出中文信息和英文信息了
# # 对于中文信息的提取,需要加lang='chi_sim',调用中文词库
from PIL import Image
import pytesseract
text=pytesseract.image_to_string(Image.open('C:\\Users\\Administrator\\Desktop\\denggao.jpeg'),lang='chi_sim')
# # 输出结果
print(text)
# # 对于英文处理,不需lang='chi_sim'
from PIL import Image
import pytesseract
text=pytesseract.image_to_string(Image.open('C:\\Users\\Administrator\\Desktop\\test.jpg'))
# # 输出结果
print(text)