Python实现图片中英文信息识别

1.说明
1)Python版本:3.x
2)安装PIL、pytesseract
3)安装识别引擎tesseract-ocr

4)测试两张图片,denggao.jpg(中文信息)、test.jpg(英文信息)


Python实现图片中英文信息识别_第1张图片

Python实现图片中英文信息识别_第2张图片


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。


Python实现图片中英文信息识别_第3张图片


我们进行原因排查,运行下面代码:
from skimage import io  
img=io.imread('C:\\Users\\Administrator\\Desktop\\denggao.jpg')  
io.imshow(img)  
如果not such file则表示物理路径出错了,如果能浏览到图片,则表示路径没问题,可以看到:


Python实现图片中英文信息识别_第4张图片


from skimage import io  
img=io.imread('C:\\Users\\Administrator\\Desktop\\test.jpg')  
io.imshow(img)  


Python实现图片中英文信息识别_第5张图片

在确认物理地址读取没有问题之后,如果执行前面获取信息的语句仍然报错,那么原因就可以锁定为没有安装识别引擎tesseract-ocr。


4.安装识别引擎tesseract-ocr
1)下载下面的安装包,然后直接点击安装即可:
http://download.csdn.net/download/qq_40426415/10237320


Python实现图片中英文信息识别_第6张图片


2)解压安装tesseract-ocr后做如下操作,就可以支持中文识别了。因为tesseract-ocr默认不支持中文识别。   


Python实现图片中英文信息识别_第7张图片


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'


Python实现图片中英文信息识别_第8张图片


方法2:
在Python变成页面,Ctrl+鼠标右键,选择import pytesseract中的pytesseract,快速打开pytesseract.py进行路径修改;




Python实现图片中英文信息识别_第9张图片


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)


Python实现图片中英文信息识别_第10张图片


# # 对于英文处理,不需lang='chi_sim'
from PIL import Image
import pytesseract
text=pytesseract.image_to_string(Image.open('C:\\Users\\Administrator\\Desktop\\test.jpg'))
# # 输出结果
print(text)



你可能感兴趣的:(Python实现图片中英文信息识别)