Python做简单的验证码识别(ocr)
1、环境:
系统:XP
Python版本:2.7.5
2、所需文件:
(1)、pillow地址:https://pypi.python.org/pypi/Pillow/
(2)、tesseract地址:https://github.com/tesseract-ocr
(3)、pytesser地址:https://code.google.com/p/pytesser/
3、安装
(1)、pillow和tesseract直接双击安装,没什么值得注意的。
(2)、pytesser无需安装,解压到某个文件夹,让后添加环境变量(PYTHONPATH)。比如walker的PYTHONPATH环境变量值是 C:\Python27\Lib\site-packages\pytesser_v0.0.1
注意:将pytesser_v0.0.1目录下pytesser.py第6行的import Image改为from PIL import Image
4、测试
其中图片:
3.jpg
13.jpg
5、可以看到,识别并不是很精确。可以将得到的字符串转为大写,取出可能的字符,比如上面的验证码可能的字符集为 大写字母和数字,将两个字符串的大写字母和数字取出来是可以得到正确验证码的。
6、如果发现彩×××片不能识别,可以先将其转换为黑白图片再识别。(PIL模式介绍)
from PIL import Image
p_w_picpath = Image.open(r'D:\tmp\in.jpg')
p_w_picpath = p_w_picpath.convert("1") #转换成黑白图片
p_w_picpath.save(r'D:\tmp\out.jpg')
推荐阅读:
1、验证码图片字符识别两种python实现方法
2、tesseract-ocr tips
3、Python图像处理库PIL的基本概念介绍。(pillow.readthedocs.io、pillow-zh-cn.readthedocs.io)
4、Python图像处理库PIL中图像格式转换(一)。
*** walker * 2014-01-20 ***
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341