数学形态学处理—膨胀腐蚀与开闭运算

对图像进行分析时,往往是把图像进行分割,并用其二值图像进行分析,对二值图像首先要提取目标物,然后对不同目标物的特征差异进行描述与计算,最后获得所需要分析的结果

在提取目标物的过程中存在以下难题:

  1. 提取的目标中存在伪目标
  2. 在多目标的情况下存在粘连和断裂
  3. 多个目标形态不同

1 膨胀与腐蚀运算

要解决上述问题,就需要运用数学形态学的一些方法,腐蚀与膨胀是形态学处理的基础,许多形态学算法都是在这两种运算的基础上进行拓展的。

1.1 膨胀运算
1.1.1 定义

集合 A A 被集合 B B 膨胀,定义为: A B = {   z ( B ^ ) z A   } A\oplus B=\{\ z|(\hat B)_z\cap A\neq\varnothing\ \} 其中集合 B B 也称为结构元素; ( B ^ ) z (\hat B)_z 表示 B B 的反射平移 z z 后得到的新集合

于是该定义式解释为:若 ( B ^ ) z (\hat B)_z 能击中 A A ,则其所有 z z 点组成的集合称为 A A B B 的膨胀

实例:
在这里插入图片描述

1.1.2 不同结构元素对原始图像的影响

不同结构元素长宽的设计会使原图像膨胀后的形态各不相同,例如下图展示了长宽分别为 d 4 × d 4 \frac{d}{4}×\frac{d}{4} d × d 4 d×\frac{d}{4} 的结构元素对原始图像进行膨胀运算后的结果:
在这里插入图片描述

1.1.3 应用场景

膨胀运算的一些经典应用:
1.1.3.1 桥接裂缝
在这里插入图片描述
1.1.3.2 填充孔洞
在这里插入图片描述

1.2 腐蚀运算
1.2.1 定义

集合 A A 被集合 B B 腐蚀,定义为: A B = {   z ( B ) z A   } A\ominus B=\{\ z|(B)_z\subseteq A\ \} 其中集合 B B 也称为结构元素; ( B ^ ) z (\hat B)_z 表示 B B 平移 z z 后得到的新集合

于是该定义式解释为:若 ( B ) z (B)_z 仍包含于 A A 中,则其所有 z z 点组成的集合称为 A A B B 的腐蚀

腐蚀的结果表现在原图的外围被剥除:
在这里插入图片描述

1.2.2 不同结构元素对原始图像的影响

不同结构元素长宽的设计会使原图像腐蚀后的形态各不相同,例如下图展示了长宽分别为 d 4 × d 4 \frac{d}{4}×\frac{d}{4} d × d 4 d×\frac{d}{4} 的结构元素对原始图像进行腐蚀运算后的结果:
在这里插入图片描述这里要注意的是,若结构元素 B B 是对称的,即 B ^ = B \hat B=B ,则原图 X X B B B ^ \hat B 腐蚀的结果一样;若结构元素 B B 是非对称的,则原图 X X B B B ^ \hat B 腐蚀的结果不同

1.3 膨胀与腐蚀运算的性质
1.3.1 对偶性

膨胀与腐蚀运算可以相互转换,对目标进行膨胀就是对背景进行腐蚀,反之同理
( X B ) = X B ^ (X\ominus B)^{\complement}=X^\complement\oplus\hat B^\complement ( X B ) = X B ^ (X\oplus B)^{\complement}=X^\complement\ominus\hat B^\complement

1.3.2 互换性

膨胀运算具有互换性,即结构元素对原图进行操作的顺序可以互换,但腐蚀运算不具有互换性
( X B 1 ) B 2 = ( X B 2 ) B 1 (X\oplus B_1)\oplus B_2=(X\oplus B_2)\oplus B_1 ( X B 1 ) B 2 ( X B 2 ) B 1 (X\ominus B_1)\ominus B_2\neq (X\ominus B_2)\ominus B_1

1.3.3 组合性

若结构元素可分解,即有 B = B 1 + B 2 B=B_1+B_2 ,则有: X B = X ( B 1 B 2 ) = ( X B 1 ) B 2 X\oplus B=X\oplus(B_1\oplus B_2)=(X\oplus B_1)\oplus B_2 在结构元素较大时可以将之分解以提高运算速度

2 开运算与闭运算

膨胀与腐蚀运算对目标物的后期处理有非常好的作用,但同时却改变了原目标的大小。考虑到膨胀与腐蚀是一对对偶运算,将膨胀与腐蚀运算相结合,便构成了开运算与闭运算

2.1 开运算

使用结构元素 B B 对集合 X X 进行开运算,定义为: A X = ( A B ) B A\circ X = (A\ominus B)\oplus B 常见应用:

  1. 消除细小对象
  2. 消除微小连粘
  3. 平滑目标边缘

例如:
在这里插入图片描述
在进行开运算的过程中需要注意的是,若结构元素 B B 非对称,则做膨胀运算时应用 B B 的对称集 B ^ \hat B ,否则开运算结果将发生平移

2.2 闭运算

使用结构元素 B B 对集合 X X 进行闭运算,定义为: A X = ( A B ) B A\bullet X = (A\oplus B)\ominus B 常见应用:

  1. 填充对象内部细小空洞
  2. 连接邻近对象
  3. 平滑目标边缘

例如:
在这里插入图片描述

同样的,若结构元素 B B 非对称,则做膨胀运算时应用 B B 的对称集 B ^ \hat B ,否则闭运算结果将发生平移

2.3 开闭运算的性质
2.3.1 对偶性

开闭运算可以相互转换,对目标进行开运算就是对背景进行闭运算,反之同理 OPEN ( X ) = CLOSE ( X ) \text{OPEN}(X)^\complement=\text{CLOSE}(X^\complement) CLOSE ( X ) = OPEN ( X ) \text{CLOSE}(X)^\complement=\text{OPEN}(X^\complement)

2.3.2 开运算性质
  1. 缩小性: X B X\circ B X X 的子集
  2. 单增性:若 X 1 X_1 X 2 X_2 的子集,则 X 1 B X_1\circ B X 2 B X_2\circ B 的子集
  3. 单运算性: ( X B ) B = X B (X\circ B)\circ B = X\circ B
2.3.3 闭运算性质
  1. 扩大性: X X X B X\bullet B 的子集
  2. 单增性:若 X 1 X_1 X 2 X_2 的子集,则 X 1 B X_1\circ B X 2 B X_2\circ B 的子集
  3. 单运算性: ( X B ) B = X B (X\bullet B)\bullet B = X\bullet B
发布了208 篇原创文章 · 获赞 841 · 访问量 121万+

猜你喜欢

转载自blog.csdn.net/baishuiniyaonulia/article/details/99696946