一、使用Tesseract
介绍: OCR,即Optical Character Recognition,光学字符识别,是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程。对于图形验证码来说,它们都是一些不规则的字符,这些字符确实是由字符稍加扭曲变换得到的内容。
安装:
tesseract下载地址:https://digi.bib.uni-mannheim.de/tesseract/, 带dev的为稳定版本
记得勾选Additional language data(download)选项来安装OCR识别支持的语言包,这样OCR便可以识别多国语言。然后一路点击Next按钮即可。
然后添加环境变量(path)
检查
在cmd中执行:
tesseract -v
会显示版本信息
3、验证安装
接下来,我们可以使用tesseract和pytesseract来分别进行测试。
我们以如下图所示的图片为样例进行测试。
该图片的链接为https://raw.githubusercontent.com/Python3WebSpider/TestTess/master/image.png,可以直接保存或下载。
首先用命令行进行测试,将图片下载到D盘chromeDownload文件夹,保存为image.png,然后在该文件夹中打开命令行,用tesseract命令测试:
tesseract image.png result
运行结果如下:
D:\chromeDownload>tesseract image.png result
Tesseract Open Source OCR Engine v3.05.02 with Leptonica
这里我们调用了tesseract命令,其中第一个参数为图片名称,第二个参数result 为结果保存的目标文件名称。
运行结果便是图片的识别结果:Python3WebSpider。可以在chromeDownload文件夹中看到result.txt,这时已经成功将图片文字转为电子文本了。
然后还可以利用Python代码来测试,这里就需要借助于pytesseract库了,测试代码如下:
from PIL import Image
import pytesseract
text = pytesseract.image_to_string(Image.open(r'image.png'))
print(text)
我们首先利用Image读取了图片文件,然后调用了pytesseract的image_to_string()方法,再将其识别结果输出。
运行结果如下:
Python3WebSpider
如果成功输出结果,则证明tesseract和pytesseract都已经安装成功.
其他可以参考这位老哥的:https://blog.csdn.net/qq_28119741/article/details/80604149