二值形态学——腐蚀与膨胀 及 C语言代码实现

本文介绍了二值形态学的基本运算——腐蚀和膨胀,详细阐述了这两种运算的概念、效果,并通过实例展示了C语言实现二值图像腐蚀和膨胀的代码,帮助理解这些操作如何影响图像的边界和小物体的去除。
摘要由CSDN通过智能技术生成

 参考文献:数字图像处理(第三版) 何东健 西安电子科技大学出版社

 

二值形态学中的运算对象是集合, 但实际运算中, 当涉及两个集合时并不把它们看作是互相对等的。 一般设A为图像集合, S为结构元素, 数学形态学运算是用S对A进行操作。 结构元素本身也是一个图像集合, 不过通常其尺寸要比目标图像小得多。 对结构元素可指定一个原点, 将其作为结构元素参与形态学运算的参考点。 原点可包含在结构元素中, 也可不包含在结构元素中, 但运算的结果常不相同。 以下用黑点代表值为1的区域, 白点代表值为0的区域, 运算对于值为1的区域进行。

 

1.腐蚀

  腐蚀是一种最基本的数学形态学运算。 对给定的目标图像X和结构元素S, 将S在图像上移动, 则在每一个当前位置x, S+x只有3种可能的状态, 如下图所示:

           

第(1)种情形说明S+x与X相关;

第(2)种情形说明S+x与X不相关;

第(3)种情形说明S+x与X只是部分相关。

因而满足(1)式的点x的全体元素,称该点集为S对X的腐蚀(简称腐蚀, 也称X用S腐蚀),记为

腐蚀也可以用集合的方式定义:

该式表明, X用S腐蚀的结果是所有使S平移x后仍在X中的x的集合。 换句话说, 用S来腐蚀X得到的集合是S完全包含在X中时S的原点位置的集合。  

  腐蚀在数学形态学运算中的作用是消除物体边界点、 去除小于结构元素的物体、 清除两个物体间的细小连通等。 如果结构元素取3×3的像素块, 腐蚀将使物体的边界沿周边减少1个像素。

 

“腐蚀”图解:(腐蚀将图像(区域)缩小了)

 

 

代码实现:

【注】二值腐蚀基本运算,背景为黑色,目标为白色。

 1 //二值腐蚀
 2 /*函数参数:
 3     a——待腐蚀的图像
 4     b——腐蚀后的结
  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值