1. 安装tesseract
OCR,即Optical Character Recognition,光学字符识别,是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程。对于图形验证码来说,它们都是一些不规则的字符,这些字符确实是由字符稍加扭曲变换得到的内容。
tesseract下载地址:https://digi.bib.uni-mannheim.de/tesseract/
进入下载页面,可以看到有各种.exe文件的下载列表,这里可以选择下载3.0版本。
其中文件名中带有dev的为开发版本,不带dev的为稳定版本,可以选择下载不带dev的版本,例如可以选择下载tesseract-ocr-setup-3.05.02.exe。
下载完成后双击,此时会出现如下图所示的页面。
此时可以勾选Additional language data(download)选项来安装OCR识别支持的语言包,这样OCR便可以识别多国语言。当然如果只是识别英文和数字就不用下载了,大家根据自己所需。
然后一路点击Next按钮即可。
接下来,为了在python代码中使用tesseract功能,使用pip安装pytesseract:
pip install pytesseract
2、配置环境变量并验证
将tesseract的安装目录添加到path环境变量中
D:\Program Files\Tesseract-OCR
dos中输入tesseract如果出现如下信息,则安装成功
3、测试验证
随便找一张验证码图片(图片有点小,到时候可能需要先修改下图片尺寸,否则识别不到)
3.1 使用命令行方式验证
先将验证码图片放在D盘,然后输入命令: tesseract rand.jpg result
这里我们调用了tesseract命令,其中第一个参数为图片名称,第二个参数result 为结果保存的目标文件名称。
会发现D盘多了一个result.txt文件,这里面就是识别后的文本信息了
验证成功!
3.2 python代码验证
这里需要用到上面安装的pytesseract库
from PIL import Image import pytesseract text = pytesseract.image_to_string(Image.open(r'D:\rand.jpg')) print(text)
我们首先利用Image.open读取了图片文件,然后调用了pytesseract的image_to_string()方法,再将其识别结果输出。
完美!!!!开心,哈哈哈哈