因为之前代码都是截图,看着清晰,但不方便拷贝,在网上看的python的pytesser模块可以识别图片上的文字,决定尝试一下。
1. 安装
pip install PIL
pytesser安装先尝试的第一种安装方式,发现不成功,又尝试了第二种,现把可用的安装步骤列出
1.1 CSDN下载pytesser包
1.2 解压到python安装目录\Lib\site-packages\pytesser下(pytesser为新建文件夹),修改pytesser.py为__init__.py
1.3 修改__init__.py的两处,import Image -> from PIL import Image,
tesseract_exe_name = 'tesseract' -> tesseract_exe_name = 'D:\\newProgram\\Python27\\Lib\\site-packages\\pytesser\\tesseract' (注意 \\ )
验证是否安装成功,cmd -> python -> import pytesser,如果没有报错就表示安装成功了
2. 使用pytesser
中间格式转换,如读取png图片时会报错 IOError: cannot write mode RGBA as BMP,因为png图像有RGBA四个通道,而BMP图像只有RGB三个通道;其次效果不是太好,调试了很久,和图片底色及字符颜色都有关系;还有 汉字无法识别。
代码中有两种解决报错的方法,第一种较为简单,但后来出错了,换成了第二种。
两处不同处理图片的方法:加强和灰度,都是网上搜的,效果不忍猝读,还有介绍识别中文的,有时间再尝试吧
注:白底字,无汉字,用灰度处理效果会好些。其它的都不怎么好,将就着看吧