图像膨胀与腐蚀
作用区域:腐蚀与膨胀是对白色部分(高亮部分)而言,不是黑色部分。膨胀类似于“领域扩张”,腐蚀类似于“领域被蚕食”。
元素:设X是一个图像,B是一个矩阵。X是被处理的对象,而B是用来处理X的,则称B为结构元素(structure element),又被形象地称做刷子。结构元素通常都是一些比较小的图象。
基础关系:
1.B击中X
若存在这样一个点,它即是B的元素,又是X的元素,则称B击中(hit)X,记作B↑X。如图1.1。
2. B包含于X
设有两幅图象B,X。对于B中所有的元素ai,都有ai∈X,则称B包含于(included in)X,记作B X。如图1.2。
图1.1 击中 | 图1.2 包含 |
膨胀
原理:
将结构元素通过平移与图像每个点进行比对,即结构元素B平移a后得到Ba,若Ba击中X,我们记下这个a点。所有满足上述条件的a点组成的集合称做X被B膨胀的结果。如图1.3。
注意:
击中很好理解,但是击中之后,是对操作点保留,即如图1.4,将平移后的B中origin涂成黑色。(之前一直被我忽略,多次看才明白的地方)。
图1.3 膨胀示意图 | 图1.4 膨胀像素图 |
图1.5 容易理解的膨胀操作图 |
腐蚀
原理:
把结构元素B平移a后得到Ba,若Ba包含于X,我们记下这个a点,所有满足上述条件的a点组成的集合称做X被B腐蚀(Erosion)的结果。是腐蚀的对偶操作,这一点可以好好利用。可以参考下图分析不同。
图1.6 腐蚀的示意图 | 图1.7 腐蚀的像素图 |
图1.8 生动形象的腐蚀操作图 |
发现
结构元素是一个可以自定义大小与内容的矩阵,它是导致我们结果多样的关键因素。如图1.9我们可以看到,使用13*13的结构元素,就将边长小于13的白色方块过滤成黑色了,只保留了边长大于13(边长为15)的白色方块。
另外在以上我们介绍的结构元素都是方方正正的,这导致我们的图像十分整齐,没有变形情况发生。在如图1.10中,我们引入了长方形的结构元素,发现图像X有变形情况,这很神奇,但是又合乎情理。
图1.9 使用形态学腐蚀去掉图像的某些部分 |
图1.10 使用非方正的结构元素进行腐蚀操作 |
开操作与闭操作
开操作
原理:先腐蚀再膨胀
效果:开操作可以用来消除小物体,在纤维点处可分离。开运算带来的结果是放大了裂缝或者局部低亮度的区域,使轮廓线更光滑。(这很好理解,先腐蚀图像X导致其细小的的连接消失不见,所以膨胀时,图像X就只有几个相对较大的模块。结果就是小物体消失了。)
几何解释:为了光滑的轮廓线,丢掉一些边边角角。如图1.11。
闭操作
原理:先膨胀再腐蚀
效果:与开操作相反,能够填补消除小型黑洞(黑色区域),并填补轮廓线中的断裂,使轮廓线更光滑。
几何解释:为了光滑的轮廓线,填了一些坑。如图1.12。
图1.11 开操作几何解释 |
图1.12 闭操作的几何解释 |
注意
1. 无论是开操作还是闭操作,算子应用一次之后,一个集合无论进行多少次的开操作或闭操作,操作都不会产生任何变化。
2. 按照《数字图像处理》第九章指纹示例所讲,开操作在消除白色噪声的同时,有几率使白色指纹连接线变得断断续续。这时我们可以在开操作的结果图上进行一次闭操作,将断续的白色指纹线连起来一些。 如图1.13。
其原因是“背景噪声在开操作的腐蚀过程中被完全消除了,因为在这种情况下,图像中的噪声部分的物理尺寸均比结构元素小。而包含于指纹中的噪声元素(黑点)的尺寸却有增加。原因是,当目标被腐蚀时,这些元素被作为应该增大尺寸的内部边界进行了处理。这种增大在闭操作的膨胀的过程中抵消了。”
图1.13 有噪声指纹的开操作闭操作 |