位置: 编程技术 - 正文
推荐整理分享详解Python验证码识别(python中验证码校验),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:python写验证码,python 验证码,python写验证码,python 验证码,python验证码处理,python 验证码,python123验证码校验,验证码python代码怎么写,内容如对您有帮助,希望把文章链接给更多的朋友!
以前写过一个刷校内网的人气的工具,Java的(以后再也不行Java程序了),里面用到了验证码识别,那段代码不是我自己写的:-) 校内的验证是完全单色没有任何干挠的验证码,识别起来比较容易,不过从那段代码中可以看到基本的验证码识别方式。这几天在写一个程序的时候需要识别验证码,因为程序是Python写的自然打算用Python进行验证码的识别。
以前没用Python处理过图像,不太了解PIL(Python Image Library)的用法,这几天看了看PIL,发现它太强大了,简直和ImageMagic,PS可以相比了。(这里有PIL不错的文档)
由于上面的验证码是位的jpeg图像,并且包含了噪点,所以我们要做的就是去噪和去色,我拿PS找了张验证码试了试,使用PS滤镜中的去噪效果还行, 但是没有在PIL找到去噪的函数,后来发现中值过滤后可以去掉大部分的噪点,而且PIL里有现成的函数,接下来我试着直接把图像转换为单色,结果发现还是 会有不过的噪点留了下来,因为中值过滤时把不少噪点淡化了,但转换为音色时这些噪点又被强化显示了,于是在中值过滤后对图像亮度进行加强处理,然后再转换 为单色,这样验证码图片就变得比较容易识别了:
上面这些处理使用Python才几行:
接下来就是提取这些数字的字模,使用shell脚本下载幅图片,抽出三张图片获取字模:
把字模保存为list,用于接下来的匹配;
提取完字模后剩下来的就是对需要处理的图片进行与数据库中的字模进行匹配了,基本的思路就是看相应点的重合率,但是由于噪点的影响在对(6,8) (8,3)(5,9)的匹配时容易出错,俺自己针对已有的幅图片数据采集进行分析,采用了双向匹配(图片与字模分别作为基点),做了半天的测试终于 可以实现%的识别率。
这里再提一下验证码识别的基本方法:截图,二值化、中值滤波去噪、分割、紧缩重排(让高矮统一)、字库特征匹配识别。这里只是针对一般的验证码,高级验证码的识别这里有篇不错的文章,太复杂的话涉及的东西就多了,那俺就没兴趣了,人工智能(好恐怖),俺只喜欢简单的东西。
Python开发如何在ubuntu . 上配置vim 1,安装vim,你可以使用ubuntu自带的apt-get工具安装。apt-getinstallvim-gnome2,安装成功后,进行配置1首先进行自动提示补全的配置(pydiction)从官方上下载http:/
Python编程中对文件和存储器的读写示例 1.文件的写入和读取#!/usr/bin/python#-*-coding:utf-8-*-#Filename:using_file.py#文件是创建和读取s='''''我们都是木头人,不许说话不许动!'''#创建一个文件,并且写
python黑魔法之编码转换 我们在使用其他语言的库做编码转换时,对于无法理解的字符,通常的处理也只有两种(或三种):抛异常替换成替代字符跳过但是在复杂的现实世界
标签: python中验证码校验
本文链接地址:https://www.jiuchutong.com/biancheng/381308.html 转载请保留说明!友情链接: 武汉网站建设