膨胀腐蚀
在试图找到连通分支(具有相似颜色或强度的像素点的大块互相分离的区域)时通常使用膨胀操作。因为在大多数情况下一个大的区域可能被噪声、阴影等类似的东西分割成多个部分,而一次轻微的膨胀又将使这些部分“融合”在一起
如果图像不是二值的,那么膨胀和腐蚀起到的作用不是很明显。在处理灰度和彩色图像时,更通用的cvMorphologyEx可提供更有用的操作。
平滑处理与膨胀腐蚀用的核不同,分别是卷积核与形态核,形态核不需要任何的数值填充核,第132页讲高斯滤波器的时候提到高斯卷积核
开运算
开运算先腐蚀后膨胀,可以用来统计二值图像中的区域数。效果:去除小的明亮区域,并且剩余的明亮区域被隔绝,但其大小不变
开运算带来的结果是放大裂缝或局部低亮度区域。
闭运算
闭运算先膨胀后腐蚀,,对于连通区域分析,通常采用腐蚀或闭运算赖消除纯粹噪声引起的部分,然后再用开运算连接邻近区域。相对于膨胀和腐蚀,开闭运算的操作能更精确地保持源图像连接的区域,这点从图5-8和图5-11腐蚀效果图和闭开运算效果图很容易看出区别,从操作原理上讲,腐蚀与开运算效果相近,因为开运算是先腐蚀后膨胀
闭运算消除了低于其邻近点的孤立点,而开运算时消除高于其邻近点的孤立点,原理很简单,看140页的图5-10很容易理解,注意图中的纵坐标表示灰度处理。
cvMorphologyEx参数iterations需要说明,假设iterations等于2,那么闭运算执行两次的流程是膨胀→膨胀→腐蚀→腐蚀,而不是执行两次闭运算,这也是真正需要的,通过这种方式,不仅是单一的孤立点会消失,而且邻近的孤立点群也会消失。
对二值图像进行形态学梯度操作可以将团块(blob)的边缘突出出来。用于灰度图时,在灰度值变化最剧烈的区域德大的结果数最大。所以他的处理结果能描述图像亮度变化的剧烈程度,这也是将它称作“形态学梯度”的原因。因为它是从原区域的膨胀中减去原区域的收缩,所以留下了完整的外围边缘。
礼帽和黑帽
礼帽和黑帽分别用于分离比邻近的点亮或暗的一些斑块