图片验证码解决方案

一、使用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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值