pytesseract是一款开源的图片文字识别库,能识别中文、英文等不少类型的语言,使用之前需要安装tesseract-ocr引擎,此引擎在windows、linux、macos上都能进行安装,(OCR,Optical Character Recognition,光学字符识别),安装完成后,对应安装pytesseract库,就能做简单的文字识别了,自带的文字类库,识别有时不准确,但是可以自己训练识别库。
“Tesseract的OCR引擎最先由HP实验室于1985年开始研发,至1995年时已经成为OCR业内最准确的三款识别引擎之一。然而,HP不久便决定放弃OCR业务,Tesseract也从此尘封。
数年以后,HP意识到,与其将Tesseract束之高阁,不如贡献给开源软件业,让其重焕新生--2005年,Tesseract由美国内华达州信息技术研究所获得,并求诸于Google对Tesseract进行改进、消除Bug、优化工作 。”--百科
下边列举一下,如何在Centos7系统的环境下,搭建一个python的tesseract-ocr环境,并使用python进行简单的图片识别。
安装Tesseract-ocr,在github上有安装的网址,https://github.com/tesseract-ocr/tesseract/wiki,在Centos7上,使用最简单的yum进行安装,这种方式,需要保持互联网的连接,但是也不用编译源代码进行安装了。
//更新配置,添加tesseract的地址
yum-config-manager --add-repo https://download.opensuse.org/repositories/home:/Alexander_Pozdnyakov/CentOS_7/
sudo rpm --import https://build.opensuse.org/projects/home:Alexander_Pozdnyakov/public_key
//更新yum
yum update
//安装tesseract
yum install tesseract
//安装简体中文语言包
yum install tesseract-langpack-chi_sim
安装完引擎后,安装python的开发包,使用pip进行安装,安装命令是:
pip install pytesseract
简单的图片识别代码:
import pytesseract
from PIL import Image
打开图片
image = Image.open('图片路径')
将图片中的文字转换字符串
code = pytesseract.image_to_string(image, lang='chi_sim')
输出字符串
print(code)