python中import Image报错改正,识别验证码成功

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lepton126/article/details/44014749

1、import Image 报错,将PIL目录拷贝至site-packages目录,执行from PIL import Image ,可以

2、from pytesser import *,报错,执行 sys.path.append("d:/software/15/python-packet/pytesser"),OK,再执行 from pytesser import *,报错找不到Image模块,修改d:/software/15/python-packet/pytesser/pytesser.py中的第一句import Image 改为 from PIL import Image,OK

3、 报错The _imaging C module is not installed ,安装PIL-1.1.7.win32-py2.5,OK

4、安装 tesseract-ocr-setup-3.02.02.exe 好象可以识别了,直接运行 tesseract -l eng v4.jpg result,在当前目录下的result.txt中可以看到v4.jpg中的数字

5、测试在win7下成功。用于测试验证码图片文件为v4.jpg,测试程序getverify.py,两个文件存放在目录为d:\testcode\pythoncode,安装成功tesseract-ocr-setup-3.02.02.exe后,可以看到目录tessdata,将此目录拷贝至d:\testcode\pythoncode ,测试程序getverify.py源码如下

import tesseract
api = tesseract.TessBaseAPI()
api.Init(".","eng",tesseract.OEM_DEFAULT)
api.SetVariable("tessedit_char_whitelist", "0123456789abcdefghijklmnopqrstuvwxyz")
api.SetPageSegMode(tesseract.PSM_AUTO)
 
mImgFile = "v4.jpg"
mBuffer=open(mImgFile,"rb").read()
result = tesseract.ProcessPagesBuffer(mBuffer,len(mBuffer),api)
print "result(ProcessPagesBuffer)=",result

运行命令d:\testcode\pythoncode>d:\python27\python.exe getverify.py 可看到v4.jpg中的数字

            这两个图片可命名为v4.jpg来实验

展开阅读全文

没有更多推荐了,返回首页