zoukankan      html  css  js  c++  java
  • 验证码降噪方法汇总~~~~~

      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点了,回宿舍睡觉!

      

      

  • 相关阅读:
    PHP无限极分类
    MySQL批量插入测试数据
    MySQL常见面试知识点汇总
    小程序交易组件-自定义交易组件相关知识
    Matplotlib
    sklearn之计算回归模型的四大评价指标(explained_variance_score、mean_absolute_error、mean_squared_error、r2_score)
    pandas.core.frame.DataFrame 切片技巧
    Pyspider all 出现的坑
    mysql 问题
    爬虫遇到HTTP Error 403的问题
  • 原文地址:https://www.cnblogs.com/soulmate1023/p/5337942.html
Copyright © 2011-2022 走看看