Python破解验证码技术,识别率高达百分之八十!

Python破解验证码技术,识别率高达百分之八十!_第1张图片


本文将具体介绍如何利用Python的图像处理模块pillow和OCR模块pytesseract来识别上述验证码(数字加字母)。

我们识别上述验证码的算法过程如下:

这是小编准备的python爬虫学习资料,加群:862703141   即可免费获取!

Python破解验证码技术,识别率高达百分之八十!_第2张图片


将原图像进行灰度处理,转化为灰度图像;

获取图片中像素点数量最多的像素(此为图片背景),将该像素作为阈值进行二值化处理,将灰度图像转化为黑白图像(用来提高识别的准确率);

去掉黑白图像中的噪声,噪声定义为:以该点为中心的九宫格的黑点的数量小于等于4;

利用pytesseract模块识别,去掉识别结果中的特殊字符,获得识别结果。

我们的图片如下(共66张图片):

Python破解验证码技术,识别率高达百分之八十!_第3张图片


完整的Python代码如下:

Python破解验证码技术,识别率高达百分之八十!_第4张图片


Python破解验证码技术,识别率高达百分之八十!_第5张图片


运行结果如下:

Python破解验证码技术,识别率高达百分之八十!_第6张图片


Python破解验证码技术,识别率高达百分之八十!_第7张图片


Python破解验证码技术,识别率高达百分之八十!_第8张图片


我们可以看到图片识别的正确率为80%以上,其中数字类图片的识别正确率为100%.

我们可以在图片识别方面的算法再加改进,以提高图片识别的正确率。当然,以上算法并不是对所有验证码都适用,不同的验证码需要用不同的图片处理算法。

你可能感兴趣的:(Python破解验证码技术,识别率高达百分之八十!)