腐蚀与膨胀
腐蚀
形态学公式是根据结构元和前景像素集合A写出的,假设A和B是$Z^2$中的两个集合,B对A的腐蚀(表示为)$A\ominus B$ 定义为
式中,A是前景像素的一个集合,B是一个结构元(SE),z项是前景像素值(1)。
$\textcolor{BrickRed}{这个公式指出,B 对A 的腐蚀是所有点z 的集合,条件是平移z 后的B 包含于A}$(这个位移是相对于B的原点定义的)。
如图所示,我们想用一个SE B去腐蚀Image I,就是要把B完全包含在A的图像中,然后对结构单元进行平移,得到B的中心点的运动轨迹,组成新的图像,此为用B腐蚀A的图像。
图像本身、结构元的形状和原点位置的选取都会影响腐蚀操作的结果。
腐蚀能够消融物体的边界,而具体的腐蚀结果与图像本身和结构元的形状有关:如果物体整体上大于结构元,腐蚀的结构是使物体变“瘦”一圈,这一圈到底有多大是由结构元决定的:如果物体本身小于结构元,则在腐蚀后的图像中物体将完全消失;如物体仅有部分区域小于结构元(如细小的连通),则腐蚀后物体会在细连通处断裂,分离为两部分。因此在实际应用中,可以利用腐蚀运算去除物体之间的粘连,消除图像中的小颗粒噪声。
膨胀
假设A和B是$Z^2$的两个集合,B对A的膨胀(表示为$A\oplus B$)定义为
类似于腐蚀,这个公式是以B相对于其原点反射并将这一反射平移 z为基础的。
如图所示,膨胀就是以选定一个结构元B,以B的中心点去对结构A的每一个前景像素进行扫描,行动轨迹构成一幅新的图像,新图像在原本基础上膨胀了一圈。膨胀会“增化”或“粗化”图像的高亮区域。
图像本身、结构元的形状和原点位置的选取都会影响腐蚀操作的结果。
膨胀运算具有扩大图像和填充图像中比结构元小的成分的作用,因此在实际应用中可以利用膨胀运算连接相邻物体和填充图像中的小孔和狭窄的缝隙。
开运算与闭运算
(1)开运算
开运算通常平滑物体的轮廓、断开狭窄的狭颈、消除细长的突出物。
结构元B 对集合A的开运算($A\circ B$)定义为:
开运算 = 先腐蚀运算,再膨胀运算(看上去把细微连在一起的两块目标分开了)
开运算的效果图如下图所示:

- 开运算总结:
(a)开运算能够除去孤立的小点,毛刺和小桥,而总的位置和形状不便。
(b)开运算是一个基于几何运算的滤波器。
(c)结构元素大小的不同将导致滤波效果的不同。
(d)不同的结构元素的选择导致了不同的分割,即提取出不同的特征。
(2)闭运算
闭运算同样平滑轮廓,但与开运算相反,它通常弥合狭窄的断裂和细长的沟壑,消除小孔,并填补轮廓中的缝隙。
闭运算 = 先膨胀运算,再腐蚀运算(看上去将两个细微连接的图块封闭在一起)
闭运算的效果图如下图所示:

闭运算总结:
(a)闭运算能够填平小湖(即小孔),弥合小裂缝,而总的位置和形状不变。
(b)闭运算是通过填充图像的凹角来滤波图像的。
(c)结构元素大小的不同将导致滤波效果的不同。
(d)不同结构元素的选择导致了不同的分割。






