• 验证码降噪方法汇总~~~~~


      0.   bmp.GetPixel(i,j).ToArgb()==Color.Black.ToArgb()  判断像素点颜色是否为黑色。

      1.这是一个C#中讲bitmap对象方法的博文:http://blog.csdn.net/yingzhaom/article/details/7743429

    经过这几天的研究想总结下验证码预处理的一些方法:

      验证码预处理方法主要有:

        0.0 上下腐蚀:  //对于斜线效果比较好,是横线用水平腐蚀,竖线用垂直腐蚀, (如何区别是横线那还是竖线)(Erode)

              腐蚀应该是让验证码瘦一圈。就这么简单。

                       垂直腐蚀-----|像素点为黑---上白或者下白=》置为白色

                         else=》置为黑色

                 ------|像素点为白---=》置为白色

                       水平腐蚀-----|像素点为黑---左白或者右白=》置为白色

                         else=》置为黑色

                 ------|像素点为白---=》置为白色

      0.1 上下膨胀:这个方法主要是加深验证码的主题内容,让主要内容更为明显 ,

              //横线用水平腐蚀,竖线用垂直腐蚀, (如何区别是横线那还是竖线)(Dilate)

              相应的膨胀只是让验证码胖一圈。

                       垂直膨胀-----|像素点为白---上黑或者下黑=》置为黑色

                         else=》置为白色

                 ------|像素点为黑----》置为黑色

                       水平膨胀-----|像素点为白---左黑或者右黑=》置为黑色

                         else=》置为白色

                 ------|像素点为黑---=》置为黑色

        插一段:

          先腐蚀后膨胀的过程称为开运算。它具有消除细小物体,在纤细处分离物体和平滑较大物体边界的作用。先膨胀后腐蚀的过程称为闭运算。它具有填充物体内细小空洞,连接邻近物体和平滑边界的作用。

      0.2 验证码中的骨架细化:(Thinning)  (前提是二值化过得图形)(索引公式为什么? 橡皮擦数组怎么来的?--这都是算法中的,不必深究。)

      细化广泛应用于图像处理与模式识别中,从细化得到的骨架不但保持了原图像的几何和拓扑特征,而且更重要的是减少了图像的冗余。

                       垂直细化-----|像素点为黑---上白或者下白=》通过周围8个邻居计算索引值,查橡皮擦表,判断是否可以置为白色,即删去细化了,else不处理

       (垂直细化自适应横线)       else=》不处理

                 ------|像素点为白---=》不处理

                

                       水平细化-----|像素点为黑---左白或者右白=》通过周围8个邻居计算索引值,查橡皮擦表,判断是否可以置为白色,即删去细化了,else不处理

        (水平细化自适应竖线)      else=》不处理

                 ------|像素点为白---=》不处理

      0.3 CFS字符分割(觉得我的文章总是越写越乱,没什么结构可寻,哎。。。)

          该方法针对字符间非粘连的种类比较好,对每一个黑色像素,探索他周围的8个像素点,如果又探索到黑色像素点,就以该像素点为中心,继续探索他周            围的像素点,直到检测不到黑色像素点,这样遍历每一个像素,就可以把图片划分成区域。(color filling segmentation)

      0.4 竖直投影法的字符分割

          该方法对于字符不黏连,且每一个竖直条上只有一个字母的线条,就是扭曲程度不大的验证码效果好,对于字符粘连大的验证码还有别方法

      0.5 OpenCV是一个很常用的计算机图像处理和机器视觉库,一般用于人脸识别,跟踪移动物体等等。

      0.6 越写越乱,就此打住吧,明天一大早还要不停的奋斗,好累。。。

      

    但是!

    生活还是要有梦想的!!!

    加油,奋斗中的各位!!!

    明天继续战斗C#,基于师兄给的代码,整合我的毕设。11点了,回宿舍睡觉!

      

      

  • 相关阅读:
    洛谷1012 拼数
    洛谷1012 拼数
    洛谷 1155 (NOIp2008)双栈排序——仔细分析不合法的条件
    bzoj 3566 [SHOI2014]概率充电器——树型
    bzoj 1415 [Noi2005]聪聪和可可——其实无环的图上概率
    洛谷 1291 [SHOI2002]百事世界杯之旅
    洛谷 1365 WJMZBMR打osu! / Easy
    洛谷 1297 [国家集训队]单选错位——期望
    洛谷 1099 ( bzoj 1999 ) [Noip2007]Core树网的核
    洛谷 2827 蚯蚓——相邻两个比较的分析
  • 原文地址:https://www.cnblogs.com/soulmate1023/p/5337942.html
Copyright © 2020-2023  润新知