1、环境:

系统:XP

Python版本:2.7.5

2、所需文件:

wKioL1Lc21LBEt2GAABXOaBfAgs848.jpg

(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、测试

Python做简单的验证码识别(ocr)_第1张图片

其中图片:

wKioL1Lc4M6iHsRoAAANN43JkXI931.jpg 3.jpg

wKiom1Lc4PHivm7uAAANEmofN3Q454.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 ***