区域形态学(Region Morphology)
区域形态学概念
区域形态学(Region Morphology)提供了一组形态学操作符,用于修改或描述区域的形状。这些操作符可用于连接或断开相邻区域、平滑区域边界等。下文将详细探讨这些形态学操作符。
膨胀(Dilation)与腐蚀(Erosion)
膨胀和腐蚀操作通过应用结构元素(structuring element)对输入区域进行处理。结构元素逐行扫描图像:
-
膨胀:当结构元素与输入区域有至少一个像素重叠时,结构元素的参考点(reference point)会被添加到结果区域中,从而使区域扩大(如下图3所示)。
-
腐蚀:仅当结构元素完全位于输入区域内时,其参考点才会被保留,从而缩小区域(如下图4所示)。腐蚀也可用于检测物体。
图示:

(1) 输入区域图像,(2) 原点为参考点的结构元素,(3) 膨胀结果,(4) 腐蚀结果。
以下操作符可用于膨胀或腐蚀区域:
| 形态学操作符 | 结构元素类型 | 参考点位置 | |
|---|---|---|---|
dilation1 |
erosion1 |
任意形状 | 原点 |
minkowski_add1 |
minkowski_sub1 |
任意形状, 转置 | 原点 |
dilation2 |
erosion2 |
任意形状 | 任意位置 |
minkowski_add2 |
minkowski_sub2 |
任意形状, 转置 | 任意位置 |
dilation_circle |
erosion_circle |
圆形 | 原点 |
dilation_rectangle1 |
erosion_rectangle1 |
矩形 | 原点 |
注意:若结构元素对称,则闵可夫斯基加法(Minkowski addition)与膨胀等效,减法与腐蚀等效。腐蚀可用于分离粘连的物体,步骤如下:
-
通过阈值分割(如
threshold操作符)提取图像中的物体。
-
使用
connection操作符将单一区域分割为多个区域。若直接连接可能无法完全分离(如图3),此时可先腐蚀缩小区域,再进行连接,最后通过膨胀恢复近似原始形状。
开运算(Opening)与闭运算(Closing)
开运算是先腐蚀后膨胀,用于消除细小结构;闭运算是先膨胀后腐蚀,用于填补小孔(如下图4)。

| 形态学操作符 | 结构元素类型 | 参考点位置 | |
|---|---|---|---|
opening |
closing |
任意形状 | 原点 |
opening_circle |
closing_circle |
圆形 | 原点 |
opening_rectangle1 |
closing_rectangle1 |
矩形 | 原点 |
其他操作符

-
顶帽(Top Hat):计算输入区域与开运算结果的差异。
-
底帽(Bottom Hat):计算闭运算结果与输入区域的差异。
-
边界(Boundary):提取区域的边界。
-
击中击不中(Hit-or-Miss):基于前景和背景检测特定形状。
-
修剪(Pruning):移除骨架中的多余分支。
术语表
-
输入区域(Input Region):被形态学操作符修改的区域。
-
结构元素(Structuring Element):用于扫描输入区域的模板区域。
操作符列表
-
bottom_hat:计算区域的底帽。 -
boundary:提取区域边界。 -
closing:闭运算。 -
closing_circle:使用圆形结构元素的闭运算。 -
closing_rectangle1:使用矩形结构元素的闭运算。 -
dilation1/dilation2:膨胀(使用原点/自定义参考点)。 -
dilation_circle/dilation_rectangle1:圆形/矩形结构元素的膨胀。 -
erosion1/erosion2:腐蚀(使用原点/自定义参考点)。 -
erosion_circle/erosion_rectangle1:圆形/矩形结构元素的腐蚀。 -
hit_or_miss:击中击不中操作。 -
minkowski_add1/minkowski_sub1:闵可夫斯基加法/减法。 -
opening/opening_circle/opening_rectangle1:开运算(任意/圆形/矩形结构元素)。 -
pruning:修剪区域分支。 -
top_hat:计算区域的顶帽。

浙公网安备 33010602011771号