现在的位置: 首页 > 综合 > 正文

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

2018年09月20日 ⁄ 综合 ⁄ 共 812字 ⁄ 字号 评论关闭

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

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;
               }
          }  
     }
}

【上篇】
【下篇】

抱歉!评论已关闭.