既然是基于膨胀和腐蚀的运算,那么再让我们详细了解一下膨胀和腐蚀到底对图像做了什么?
-
第一种情况,对于二值图像来说
-
腐蚀: 核与其覆盖的图像部分做与操作,如果全为1,则该像素点为1,否则为0; 也就是0容易得到,图像更多的地方变黑了,白色部分被腐蚀了
-
膨胀: 核与其覆盖的图像部分做与操作,如果全为0,则该像素点为0,否则为1; 也就是1容易得到,图像更多的地方变白了,白色部分膨胀了
-
-
第二种情况,对于一个灰度图像来说
-
腐蚀: 某一点的像素值,就是核与图像该部分像素值差的最小值。 所以像素值变低比较容易,亮色部分被腐蚀。
-
膨胀: 某一点的像素值,就是核与图像该部分像素值和的最大值。 所以像素值变高比较容易,亮色部分膨胀。
-
-
开运算: 先腐蚀后膨胀,放大裂缝和低密度区域,消除小物体,在平滑较大物体的边界时,不改变其面积
-
闭运算: 先膨胀后腐蚀,排除小型黑洞,突触了比原图轮廓区域更暗的区域
-
形态学梯度: 形态学梯度 = 膨胀图 - 腐蚀图,保留图像边缘
-
顶帽(礼帽): 顶帽 = 原图 - 开运算,分离邻近点亮一些的斑块,进行背景提取
-
黑帽: 黑帽 = 闭运算 - 原图,用来分离比邻近点暗一些的斑块