第三篇 Java做验证码识别之预处理与分割

    技术2022-05-19  22

    java做图像处理,能力也不弱,举个例子,就拿csdn的验证码来说,如果要破解它,预处理是少不了的,看我一步一步给你讲解怎么处理:

    先上图片:

     

    原始图:

     

    然后看一下其他几个面板,和这幅图同步的

     

    第一幅:灰度直方图

     

    第二副:红分量直方图

     

    第三幅:绿分量直方图

     

    第四幅:蓝分量直方图

     

    第五幅:色调直方图

     

    第六幅:饱和度直方图

     

    第七幅:亮度直方图

     

    然后看看脚本面板的图是啥样的:

     

    接下来,贴出上面脚本中每一行运行后的图像的效果吧,其他直方图就不贴了,也会跟着变的

     

    先复原图像:

     

     

    接着:变成黑白图

     

    然后,去除细小的横线

     

    接下来,去除细小竖线(脚本中的注释写反了)

     

    再接下来,去除小的连通分量(那些小点)

     

    再然后,去掉四边的黑边框

     

    最后切割,把切割后的图片依次贴上:

     

    最后,把图片空白的地方切掉

    filter.cutPadding();

     

    放大几倍看看:

     

     

    至此,图像预处理就到这了,后面的识别,以后再说。


    最新回复(0)