之前一直在用python写爬虫,后来听说python可以做图像识别,想试一试,网上了解了一些资料,看到某位前辈的写了一个程序,觉得他的验证识别思想比较好接受,适合图像识别的入门,于是花了一下午时间研了PIL的图像处理基本方式,通过比较像素矩阵特征值这种方法,写了一个简单的验证码识别程序
下面是通过PIL 中的Image 对图像的处理
set_table 是设置像素转换的函数,将灰度图(0-255)转换成二值图。分界值a的取定对影响二值图的转换效果(最好的效果是,只有验证覆盖的区域是像素黑点,其他的均是像素白点)
with,height 是像素矩阵的长和宽
验证码识别思想: 对图像进行灰度处理,二值转换后,对验证码中每个数字进行切割,如果有四个数字,就切割成四份,每一个数字都是由一个像素矩阵组成,因此,求取每个数字对应的的像素矩阵的特征向量(模板),然后再通过特征向量来匹配验证码。(当然这其中少不了一些优化)
代码下载:https://github.com/ladingwu/-
欢迎交流。。