一、安装pytesseract
python-tesseract是python的光学字符识别(OCR)工具,它可以识别并“读取”嵌入图像的文本。安装命令:pip install pytesseract
Python-tesseract是Google的Tesseract-OCR引擎的包装器。它作为独立的调用脚本也很有用,因为它可以读取Python Imaging Library支持的所有图像类型,包括jpeg,png,gif,bmp,tiff等,而tesseract-ocr默认只支持tiff和bmp。此外,如果用作脚本,Python-tesseract将打印已识别的文本,而不是将其写入文件。
二、安装识别引擎tesseract-ocr
Tesseract是开源的OCR引擎。Tesseract最初设计用于英文识别,经过改进引擎和训练系统,它能够处理其它语言和UTF-8字符。Tesseract 3.0能够处理任何Unicode字符,但并非在所有语言上都工作得很好。Tesseract在庞大字符集语言(比如中文)上较慢,但是工作良好。 tesseract-ocr默认只支持tiff和bmp。此外,如果用作脚本,Python-tesseract将打印已识别的文本,而不是将其写入文件。 此外,安装好
下载地址:https://github.com/UB-Mannheim/tesseract/wiki ,选择对应版本下载即可。
注意:
1、安装之后,配置环境变量,将安装目录放到系统变量的path 下,这样直接可以在cmd 下,直接tesseract,输出相应信息即可
2、pycharm 需要运行的话,需要更改 pytesseract.py文件,将A 由B、C任意一个替代即可。
A. tesseract_cmd = 'tesseract'
B.tesseract_cmd = 'C:/Program Files (x86)/Tesseract-OCR/tesseract.exe'
C.tesseract_cmd = 'C:\\Program Files (x86)\\Tesseract-OCR\\tesseract'
3、tesseract-ocr 安装成功后,在安装目录 下的tessdata目录下,包含支持的识别的语言,其中并不包含简体中文,需要我们额外下载chi_sim.traineddata,并放在该目录下,下载地址:https://pan.baidu.com/s/1J0HNoVhX8WexS_5r0k2jDw 密码:ywc3
三、验证
选取英文和中文的图片分别进行识别
# -*-encoding=utf-8-*-
from PIL import Image
import pytesseract
path = "0003.png"
#text = pytesseract.image_to_string(Image.open(path), lang='chi_sim')
text = pytesseract.image_to_string(Image.open(path))
print(text)
输入如下图,输出QNMX
# -*-encoding=utf-8-*-
from PIL import Image
import pytesseract
path = "test-img.png"
text = pytesseract.image_to_string(Image.open(path), lang='chi_sim')
#text = pytesseract.image_to_string(Image.open(path))
print(text)
输入简体中文图 输出:
从控制台输入输出可以看到,识别的有一个准确率的存在,因为还需要对这些图片做进一步的处理,才可能得到好的结果。
作为非常优秀的Ocr识别库,tesseract当然可以训练自己的数据模型,从而达到较高的准确率。