Python2实现图片文本识别的完整教程:pytesser与PIL配置详解
本文详细介绍在Python2环境下利用pytesser和PIL库实现图片文本识别的方法。涵盖从pytesser下载、解压安装到修改__init__.py文件的关键配置,以及PIL库的安装避坑指南。通过具体代码示例,指导用户解决常见报错,完成图片识别测试,并分析该方法的局限性及优化建议。
本文介绍使用Python2进行图片文本识别的具体实现方案,供读者参考学习。
实现该功能需要依赖几个Python库,主要包括pytesser及其依赖库PIL。建议Python版本选择2.7或更低版本,不推荐使用Python3及以上版本,因为Python3不向下兼容,会导致许多Python2特有的功能无法支持。
关于pytesser的下载,在PyCharm内部或DOS命令行中直接下载均可能失败,建议直接通过Google搜索获取。下载地址为:http://code.google.com/p/pytesser/downloads/list
若上述网址无法访问,可从本站资源中下载,点击此处进行下载。
下载完成后,请按以下步骤进行安装:
1. 解压pytesser压缩包,将解压后的整个文件夹复制到Python安装目录下的Lib\site-packages路径中,以便直接调用。例如,若安装目录为C:\Python27\Lib\site-packages,则需将文件置于该目录下。
2. 假设最终建立的pytesser目录路径为C:\Python27\Lib\site-packages\pytesser\。
3. 进入pytesser文件夹,将文件pytesser.py重命名为__init__.py,并编辑该文件内容: ①. 将
import Image修改为:from PIL import Image②. 将tesseract_exe_name = 'tesseract'修改为:tesseract_exe_name = 'C:\\Python27\\Lib\\site-packges\\pytesser\\tesseract,请注意双斜杠的使用,否则可能因转义字符引发错误。
接下来需要下载PIL库。同样地,在PyCharm中下载可能会失败,提示未找到适合Python版本的PIL。可在DOS命令行中使用命令pip install Pillow进行安装。若直接在DOS下使用pip命令,需先将pip的路径添加到系统环境变量path中,例如我的pip路径为:“D:\python2.7.13\Scripts\”。
注:经尝试发现
PIL安装过程较为繁琐,建议直接下载exe文件进行安装。具体可访问PIL官网查找对应的安装版本:http://pythonware.com/products/pil/。
所有依赖库下载并安装完毕后,即可开始使用图片进行测试。此处先使用pytesser压缩包内提供的测试图片进行验证。 代码如下:
from pytesser import *
img=Image.open("D:\\fnord.tif")
#我这里是直接把图片复制在d盘下。可以随意更改。如果是d盘下的XX文件夹,路径就是:d:\XX\\fnord.tif
#一些对python不熟悉的小伙伴要注意的是这个路径只有最后一个斜杠要改成双斜杠,前面的都是单斜杠,如果不是这样的话在pycharm里面就会报一些看不懂的错误,百度到死都不知道怎么解决。
print image_to_string(img)
或者可以采用以下写法:
print image_file_to_string("D:\\fnord.tif")
运行上述代码时,可能会遇到找不到Image类的错误。原因可能是pytesser仅支持PIL的Image类。因此,需对步骤3中pytesser包下的__init__.py文件第一行进行修改:将import Image改为from PIL import Image。具体修改如图:

此时即可看到识别输出结果:

至此,配置与测试基本完成。
最后说明该方法的局限性:识别率相对较低,要求图片中的文字必须非常清晰才能被准确识别。若需提高识别率,还需对图片进行预处理操作,此处不再详述,建议读者自行查阅相关资料。
更多关于Python的相关内容,可查看本站专题:《Python数学运算技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》。
希望本文所述内容能对大家的Python程序设计有所帮助。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









