具体功能实现需要安装两个包和一个引擎。
1、安装pytesseract和PIL
PIL全称:Python Imaging Library,python图像处理库,这个库支持多种文件格式,并提供了强大的图像处理和图形处理能力。
由于PIL仅支持到Python 2.7,所以在PIL的基础上创建了Pillow库,支持最新Python 3.x。
用pip命令安装库:
pip install Pillow
pip install pytesseract
2、尝试运行源码如下:
from PIL import Image
import pytesseract
Image = Image.open('1.png') #打开图片文件
text = pytesseract.image_to_string(Image,lang='chi_sim') #用简体中文解析图片中的文字
print(text)
运行时出现报错,原因:没有安装识别引擎tesseract-ocr 。
3、安装识别引擎tesseract-ocr
Tesseract是开源的OCR引擎。Tesseract最初设计用于英文识别,经过改进引擎和训练系统,它能够处理其它语言和UTF-8字符。Tesseract 3.0能够处理任何Unicode字符,但并非在所有语言上都工作得很好。Tesseract在庞大字符集语言(比如中文)上较慢,但是工作良好。
4、因为tesseract-ocr默认不支持中文识别。 将下载到的文件:chi_sim.traineddata 放到Tesseract-OCR安装目录。
5、将tessdata目录的上级目录所在路径:(默认为tesseract-ocr安装目录)添加至TESSDATA_PREFIX环境变量中再次运行结果:图片识别成功!本例介绍的方法希望能够起到抛砖引玉的作用,但成功率还有待优化和改进。