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

  • 相关阅读:
    【排序算法汇总】
    Redis是否安装
    分布式与集群
    Redis学习
    简单算法定义见解
    KMP算法
    红黑树
    JSP与Servlet的关系
    7、创建图及图的遍历(java实现)
    6、二叉树树(java实现)
  • 原文地址:https://www.cnblogs.com/zuochanzi/p/6039346.html
Copyright © 2011-2022 走看看