区域形态学(Region Morphology)

区域形态学(Region Morphology)

区域形态学概念

区域形态学(Region Morphology)提供了一组形态学操作符,用于修改或描述区域的形状。这些操作符可用于连接或断开相邻区域、平滑区域边界等。下文将详细探讨这些形态学操作符。

膨胀(Dilation)与腐蚀(Erosion)

膨胀和腐蚀操作通过应用结构元素(structuring element)对输入区域进行处理。结构元素逐行扫描图像:

  • 膨胀:当结构元素与输入区域有至少一个像素重叠时,结构元素的参考点(reference point)会被添加到结果区域中,从而使区域扩大(如下图3所示)。

  • 腐蚀:仅当结构元素完全位于输入区域内时,其参考点才会被保留,从而缩小区域(如下图4所示)。腐蚀也可用于检测物体。

图示:

image-区域膨胀与腐蚀

(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)与膨胀等效,减法与腐蚀等效。腐蚀可用于分离粘连的物体,步骤如下:

  1. 通过阈值分割(如 threshold 操作符)提取图像中的物体。

    image-阈值分割

  2. 使用 connection 操作符将单一区域分割为多个区域。若直接连接可能无法完全分离(如图3),此时可先腐蚀缩小区域,再进行连接,最后通过膨胀恢复近似原始形状。

    image-腐蚀后膨胀

开运算(Opening)与闭运算(Closing)

开运算是先腐蚀后膨胀,用于消除细小结构;闭运算是先膨胀后腐蚀,用于填补小孔(如下图4)。

image-区域开运算与闭运算

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

其他操作符

image-其他操作符

  • 顶帽(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:计算区域的顶帽。


posted @ 2025-05-15 16:02  明理  阅读(35)  评论(0)    收藏  举报