小编给大家分享一下Python如何识别字母数字组合验证码,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
在爬虫过程中难免会遇到验证码,各种验证码似乎阻挡了爬虫的脚步。
因为本文实现的功能是在内网环境下完成的,所以没有代码介绍,也没有识别效果显示。
1、编码和转换样本图像。
2、得到一个能够反映图像特征的code,然后保存所有这些样本图像的code。
3、图片转换code的方法可以选择hash进行转换。
图片转换code的方法我选择的hash转换过程如下:
缩放:图片缩放8*8。
求平均值:计算灰度图中所有像素的平均值。
比较:像素值大于平均值1,反之0,总共64位。
生成hash:将上述步骤生成的1和0按顺序组合成图片的指纹(hash)。顺序不固定。但比较时必须有相同的顺序。
在获得hash值后,将同一数字对于图片的hash值存在于txt文件中,在实际使用时,对预测图像进行上述相同的预处理操作,出4张图片,然后计算出4张预测图像的hash值,将测试图像的hash值与TXT文件中的hash进行比较,计算出汉明距离,即两个64位的hash值有多大不同,不同位数越少,图片越相似。
在获得测试图像与每个样本图像hash值的汉明距离后,进行统计,平均取预测值最大的样本图像标签作为预测值。识别速度也不错,平均只需要0.3秒就可以完成一次识别。
这种识别方法操作简单,对简单的字母数字组合验证码非常有效,但对图像预处理提出了更高的要求,不具有泛化性。不同的验证码每次都需要单独编辑规则。
看完了这篇文章,相信你对“Python如何识别字母数字组合验证码”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。