DYING4EVER

NOTES

第05章_形态学图像处理

第 5 章 形态学图像处理

本章概括

本章介绍数学形态学方法。核心思想是用结构元探测图像集合的形状。内容包括集合基础、结构元、腐蚀、膨胀、开闭运算、击中击不中变换、边界提取、孔洞填充、连通分量、凸壳、细化、粗化、骨架以及灰度形态学。重点是掌握结构元如何影响处理结果。

5.1 预备知识

二值形态学把图像看成 $Z^2$ 上的点集合。目标像素构成集合 $A$,结构元构成集合 $B$。结构元相当于一个小模板,用来探测目标的形状、大小、方向和连通性。

结构元的选择非常关键:小结构元保留更多细节,大结构元会删除更小的目标或间隙;方向性结构元可检测线段、边缘或特定形状。

如何使用结构元

结构元在图像上平移。每到一个位置,都判断结构元与目标集合的包含、相交或匹配关系。PPT 中的结构元示意图应理解为“用一个已知形状去探测图像中的未知形状”。

5.2 二值图像中的基本形态学运算

5.2.1 腐蚀

腐蚀定义为:

$$ A\ominus B={z\mid (B)_z\subseteq A} $$

其中 $(B)_z$ 表示结构元 $B$ 平移到位置 $z$ 后的集合。只有当结构元完全包含在目标集合 $A$ 中,位置 $z$ 才保留。

腐蚀的作用是收缩目标、消除小突出、断开细连接。结构元越大,目标收缩越明显。

图示说明

腐蚀示例图展示了目标边界向内收缩的效果:细小目标可能被完全删除,狭窄连接可能断开,因此腐蚀常用于去除小噪声或分离粘连目标。

5.2.2 膨胀

膨胀定义为:

$$ A\oplus B={z\mid (\hat{B})_z\cap A\ne\varnothing} $$

其中 $\hat{B}$ 是结构元关于原点的反射。只要结构元与目标集合有交集,该位置就被加入输出。

膨胀的作用是扩张目标、填补小孔、连接邻近断裂区域。结构元越大,扩张越明显。

对偶性

腐蚀和膨胀具有对偶关系:

$$ (A\ominus B)^c=A^c\oplus \hat{B} $$

$$ (A\oplus B)^c=A^c\ominus \hat{B} $$

其中 $A^c$ 表示补集。对偶性说明对前景腐蚀等价于对背景膨胀。

5.3 开运算和闭运算

开运算为先腐蚀后膨胀:

$$ A\circ B=(A\ominus B)\oplus B $$

它可以去除小目标、断开细连接、平滑目标轮廓,但总体不会明显扩大目标。

闭运算为先膨胀后腐蚀:

$$ A\bullet B=(A\oplus B)\ominus B $$

它可以填补小孔、连接窄断裂、平滑轮廓,但总体不会明显缩小目标。

运算 顺序 主要作用 典型影响
腐蚀 结构元完全包含才保留 收缩目标 去小噪声、断开细连接
膨胀 结构元与目标相交即保留 扩张目标 填小孔、连接断裂
开运算 腐蚀再膨胀 去除小亮目标 保留较大目标形状
闭运算 膨胀再腐蚀 填补小暗孔 连接近邻目标

5.4 击中击不中变换

击中击不中变换用于检测特定形状,要求一个结构元匹配目标,另一个结构元匹配背景:

$$ A\otimes B=(A\ominus B_1)\cap(A^c\ominus B_2) $$

其中 $B_1$ 用于匹配前景,$B_2$ 用于匹配背景。它常用于端点检测、角点检测和细化中的模板匹配。

5.5 基本形态学算法

边界提取

边界可由原图减去腐蚀结果得到:

$$ \beta(A)=A-(A\ominus B) $$

腐蚀去掉边缘像素,因此差集保留目标边界。

孔洞填充

孔洞填充从孔内某个种子点开始,反复膨胀并限制在背景区域内:

$$ X_k=(X_{k-1}\oplus B)\cap A^c $$

迭代直到 $X_k=X_{k-1}$。最后 $X_k\cup A$ 即为填洞结果。

连通分量提取

连通分量提取也可通过形态学重建完成。从一个目标像素种子开始反复膨胀,并与原集合 $A$ 相交,直到稳定:

$$ X_k=(X_{k-1}\oplus B)\cap A $$

该方法可逐个提取连通区域。

凸壳、细化、粗化和骨架

凸壳用于得到包含目标的最小凸集合;细化逐步删除边界像素但保持连通性;粗化与细化相反,用于补充结构;骨架提取保留目标的中轴结构,适合形状描述和识别。

骨架可理解为目标内部到边界距离局部最大的点集合。PPT 中骨架示例图说明:骨架保留了目标拓扑和主要形状,但去除了宽度信息。

5.6 灰度级形态学

灰度形态学将二值集合运算推广到灰度函数。结构元不再只判断包含或相交,而是参与局部最大值和最小值运算。

灰度膨胀可写为:

$$ (f\oplus b)(x,y)=\max_{(s,t)\in b}{f(x-s,y-t)+b(s,t)} $$

灰度腐蚀可写为:

$$ (f\ominus b)(x,y)=\min_{(s,t)\in b}{f(x+s,y+t)-b(s,t)} $$

灰度膨胀会增强亮区域、扩展亮细节;灰度腐蚀会增强暗区域、收缩亮区域。灰度开运算可去除小亮结构,灰度闭运算可填补小暗结构。

灰度形态学算法

灰度顶帽变换用于提取比背景亮的小目标:

$$ T_{hat}(f)=f-(f\circ b) $$

黑帽变换用于提取比背景暗的小结构:

$$ B_{hat}(f)=(f\bullet b)-f $$

它们常用于非均匀背景校正、细小目标增强和缺陷检测。