python图片验证码识别
1.tesseract的安装
tesseract我就不多介绍了,我这里会把我自己的安装经历给大家分享,希望后来人少跳坑吧。
先说说我主要遇到的问题,最主要的就是报错,系统找不到文件或者tesseract不在你的环境中。
首先,你要安装一个tesseract ocr这个软件,这个软件csdn上,或者百度都可以搜索到并下载,请注意下载对应的版本。这里也可以下载tesseract ,下载完成.exe文件之后,双击安装,一路next,注意记下安装路径,默认是C盘,安装完成后,我们需要配置环境变量,打开系统环境变量,我们分两步走:第一步,找到现有的path,我们往里面添加C:\Program Files (x86)\Tesseract-OCR;第二步,在系统环境变量中,添加变量"TESSDATA_PREFIX ",变量为"C:\Program Files (x86)\Tesseract-OCR\tessdata "PS:以上路径均为你安装路径,具体路径请自行替换。
最后就要测试安装是否成功,具体方法就是,打开cmd命令行,输入命令,tesseract -v看是否能够出现版本提示信息,如果出现则成功,如果没有,请cd到C盘tesseract的安装目录,输入命令tesseract -v如果成功出现信息,那么就是环境变量的配置问题,重新配置即可。
总结:这个地方主要有两个坑,第一就是Program Files (x86)这个文件夹名称有两个空格,当然一般大家都会复制路径,所以这个问题一般还不容易遇到,但是像我这种代码洁癖患者,这种空格容易误删。第二就是复制的路径,正反斜杠问题,这个在下面会说到。
2.pyteeseract的安装
这个安装相对来说就简单了不少,直接命令 pip install pytesseract 简单粗暴完成安装,但是请务必安装在当前python环境下,特别是电脑上有多个环境的,不然就不能使用了,这想必也不用多说。接下来上代码:
import pytesseract
from PIL import Image
image = Image.open('./images/recaptcha.png')
text = pytesseract.image_to_string(image)
print(text)
其中文件open路径自己设置一个并放入一张图片,运行,测试是否成功。
一般都不会成功。。。。。。。
因为我们还漏了一步,那就是打开我们的python文件夹下Lib/sitepackages/pytesseract/pytesseract.py文件 ,找到tesseract_cmd = 这一行,修改为tesseract_cmd = r’C:/Program Files (x86)/Tesseract-OCR/tesseract.exe’路径也是自行替换,这里的坑就是我上面说的,一个是斜杠,务必是正斜杠,然后就是文件夹名称,记得要有空格。
之后我们再进行测试,应该就可以成功了。