zoukankan      html  css  js  c++  java
  • 形态学运算中腐蚀,膨胀,开运算和闭运算

    形态学运算中腐蚀,膨胀,开运算和闭运算。

    形态学运算中腐蚀,膨胀,开运算和闭运算。

    1. 腐蚀是一种消除边界点,使边界向内部收缩的过程。可以用来消除小且无意义的物体。
    腐蚀的算法:
    用3x3的结构元素,扫描图像的每一个像素
    用结构元素与其覆盖的二值图像做“与”操作
    如果都为1,结果图像的该像素为1。否则为0。
    结果:使二值图像减小一圈

    2. 膨胀是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程。可以用来填补物体中的空洞。
    膨胀的算法:
    用3x3的结构元素,扫描图像的每一个像素
    用结构元素与其覆盖的二值图像做“与”操作
    如果都为0,结果图像的该像素为0。否则为1
    结果:使二值图像扩大一圈


    3. 先腐蚀后膨胀的过程称为开运算。用来消除小物体、在纤细点处分离物体、平滑较大物体的边界的同时并不明显改变其面积。
    4. 先膨胀后腐蚀的过程称为闭运算。用来填充物体内细小空洞、连接邻近物体、平滑其边界的同时并不明显改变其面积。
     
    // 腐蚀 的例子代码
    //使用水平方向的结构元素进行腐蚀
    for(j = 0; j <lHeight; j++)
    {    
         for(i = 1;i <lWidth-1; i++)
         {
              ...  
              //目标图像中的当前点先赋成黑色
              *lpDst = (unsigned char)0;

              //如果源图像中当前点自身或者左右有一个点不是黑色,
              //则将目标图像中的当前点赋成白色
              for (n = 0;n < 3;n++ )
              {
                   pixel = *(lpSrc+n-1);
                   if (pixel == 255 )
                   {
                        *lpDst = (unsigned char)255;
                        break;
                   }
              }  
         }
    }

  • 相关阅读:
    通过WebService跨平台上传大文件到服务器
    C# 委托、Lambda表达式和事件——学习总结
    WIN8、WIN7访问Windows Server 2003服务器的数据库速度很慢、远程速度很慢的解决方法
    C#中接口与抽象类的区别
    DataGridView重查后,返回原来所在行
    需要开拓的领域
    FTP使用心得
    VS的几个实用快捷键
    C#中窗体、MDI的使用心得
    水晶报表使用心得
  • 原文地址:https://www.cnblogs.com/yumoye/p/10485531.html
Copyright © 2011-2022 走看看