浅析去除验证码图片中的干扰线、噪点(java)


    (原创文章,转载请加转载地址) 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明

  图片处理中最为重要的是对目标图片的特征分析,通过这些特征(点)设计图片预处理方法。针对带有干扰线、噪点特征的验证码图片,自然有它自己的处理方法,下面是个人的一点愚见,图像处理常用的是MATLAB和c++来做的,因为它们都有强大的图像处理的库,在Java中关于图像处理的就相对来说少一些。

  图片像素由24位二进制的机器码表示,可以表示为ARGB,这里和色彩的RGB并不冲突,这里的A表示的是透明度,网上有很多关于这方面的阐述,这里就不赘述了,我这里要做的是关于纯背景色,前景色彩不做要求的验证码图片。该方法是基于像素级的操作,对前景和背景内容在像素上也有一定的要求,要求干扰线比前景内容在笔画上要细,这一点很重要,也是方法的主要精髓,通过对像素的操作就可以实现去除干扰线和噪点的效果,相信知道一点图像处理的人应该已经知道怎么回事了吧。

  这些只是本人的一点点原创拙见,出于对图片处理方面感兴趣,写了一个处理这方面图片的java小项目,希望大神多多指教,谢谢!

  有许多朋友问到如何识别这些验证码图片,其实要识别这些验证码图片,最难的就是把验证码图像处理成无任何干扰的二值图像(就是黑白图,这一步是重点、关键,也是难点),然后利用图像分割切割单个字符,做一定量的字库,就可以顺利实现识别的目的啦。

  废话不说了,有图有真相,下面是自己处理过的图片和效果图:

       样板图:

  处理后的效果图:

   

    

优质内容筛选与推荐>>
1、1174:大整数乘法
2、python中的else语句
3、vs2010 vs2012中增加JSon的支持
4、PhpStorm快捷方式
5、查看Iptables所有规则配置列表


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号