浅析去除验证码图片中的干扰线噪点(java)
Posted 夜雨听风波
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅析去除验证码图片中的干扰线噪点(java)相关的知识,希望对你有一定的参考价值。
(原创文章,转载请加转载地址) 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
图片处理中最为重要的是对目标图片的特征分析,通过这些特征(点)设计图片预处理方法。针对带有干扰线、噪点特征的验证码图片,自然有它自己的处理方法,下面是个人的一点愚见,图像处理常用的是MATLAB和c++来做的,因为它们都有强大的图像处理的库,在Java中关于图像处理的就相对来说少一些。
图片像素由24位二进制的机器码表示,可以表示为ARGB,这里和色彩的RGB并不冲突,这里的A表示的是透明度,网上有很多关于这方面的阐述,这里就不赘述了,我这里要做的是关于纯背景色,前景色彩不做要求的验证码图片。该方法是基于像素级的操作,对前景和背景内容在像素上也有一定的要求,要求干扰线比前景内容在笔画上要细,这一点很重要,也是方法的主要精髓,通过对像素的操作就可以实现去除干扰线和噪点的效果,相信知道一点图像处理的人应该已经知道怎么回事了吧。
这些只是本人的一点点原创拙见,出于对图片处理方面感兴趣,写了一个处理这方面图片的java小项目,希望大神多多指教,谢谢!
有许多朋友问到如何识别这些验证码图片,其实要识别这些验证码图片,最难的就是把验证码图像处理成无任何干扰的二值图像(就是黑白图,这一步是重点、关键,也是难点),然后利用图像分割切割单个字符,做一定量的字库,就可以顺利实现识别的目的啦。
废话不说了,有图有真相,下面是自己处理过的图片和效果图:
样板图:
处理后的效果图:
以上是关于浅析去除验证码图片中的干扰线噪点(java)的主要内容,如果未能解决你的问题,请参考以下文章