CSDN新版图形验证码初级识别

这里的方法只是利用< csdn Blog发表评论验证码识别>思路和方法对CSDN新版特征码进行识别,只对一部分特征码有效。不过通过改进算法,应该可以得到很好的效果。

新版特征码举例如下:



初步分析,该特征码使用以下方式增加识别难度:

  1. 不单纯的背静色

  2. 随机出现的干扰线

  3. 随机出现的干扰点

  4. 不同字符颜色不一样

  5. 字符出现的位置不一样

  6. 字符之间的距离随机,还有可能连在一起。

  7. 使用了斜体字,即使不连接,也不能采用矩形方式获取其中的一个字符

现在开始针对上面的问题进行处理

我们先看一个操作,使用Windows自带的画图把保存的特征码以单色位图的方式保存,

现在看变化:变成,这样1、2、4三点的干扰就没意义了。

下面是放大400%下的效果

这步可以称为单色处理,要在程序中实现这步功能的代码如下

现在来处理干扰点了

这里的干扰点比较少,基本又是单独存在的,处理起来就更简单了。判断某个点上下左右8个位置有几个点是黑点就基本上可以判断了。下面是处理后的效果:

代码:

处理到这里,1-4的干扰基本被去除了。

下面开始截取字符(对应第5点),我这里使用了一个并不完美的办法,先获取每个字符的左右范围,再获取这个字符的上下范围,这样字符所在的矩形框就出来了,这里使用的字符太工整了,接下来识别没什么难度了;

范围确定以后的效果如下:

代码限于篇幅,这部分代码就不贴了。

到目前为止,第6-7点还没有被提及,这就是该特征码难度较高的部分。

比如开头的9张样本中,第2、3行的第三张用默认的单色算法完成以后太失真了

其次字符连在一起给分析字符位置(至少是目前的处理方法)带来很大的难度,下面是2个典型的例子:

这些都要优化算法。

本文未完,请关注该地址:http://blog.csdn.net/Qqwwee_Com/archive/2006/02/09/595607.aspx



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=595607

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值