一、什么是tesseract?
光学字符识别,是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程。对于图形验证码来说,它们都是一些不规则的字符,这些字符确实是由字符稍加扭曲变换得到的内容。只能识别一些简单的验证码。
二、安装与使用
1、安装(Mac下安装)
brew install tesseract
//与python对接需要安装的包
pip3 install Pillow
pip3 install pytesseract
2、下载语言库
(1)下载地址:https://github.com/tesseract-ocr/tessdata
根据自己的需求选择所要的语言库,在这里我们选择的是简体中文所以选择的库是:chi_sim.traineddata、eng.traineddata(已有,无需下载)
(2)将文件拷贝到到:/usr/local/Cellar/tesseract/3.04.01_2/share/tessdata目录下。
(3)终端输入命令:tesseract --help
3、使用
(1)命令行直接识别
a、在终端打开图片,运行下图中命令
b、在文件11.txt中查看识别结果
注意:通过测试发现,这种方式一般只能识别纯数字或者数字比较多的验证码,如果字母多就会无法识别。
(2)在代码中识别
#!/usr/local/bin/python3.7 from PIL import Image import pytesseract # 打开图片 img = Image.open('Reptile/code.png') img = img.convert('RGB') # 识别图片 result = pytesseract.image_to_string(img) print('识别结果:',result)
注意:代码的识别度也不是很高,可以在代码中对图片进行灰度/二值化等处理,提高识别度。