社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

python • 6 年前 • 307 次点击  


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

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

这里还有小编准备的一份python学习资料,加小编QQ群:696541369即可获取!


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

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

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

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

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


完整的Python代码如下:



运行结果如下:




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

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


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/29498
 
307 次点击