在OpenCV中,腐蚀(Erosion)和膨胀(Dilation)属于形态学(morphological)操作。形态学是一种处理图像中结构的方法,通常用于处理二值图像。腐蚀和膨胀是最基本的形态学操作,它们广泛应用于图像预处理、特征提取等领域。
腐蚀(Erosion)
腐蚀是一种侵蚀图像中前景对象边界的操作。其主要目的是消除小且无意义的物体。在这个操作中,使用一个结构元素(kernel或structuring element),它在原始图像上滑动,并取结构元素覆盖区域的像素值最小值代替中心元素的像素值。
膨胀(Dilation)
与腐蚀相反,膨胀是扩大前景对象边界的操作。它通常用于填充前景对象中的小洞,或连接邻近的对象。膨胀操作中,结构元素在原始图像上滑动,取覆盖区域的最大值作为新的中心元素的值。
类似的形态学操作
除了腐蚀和膨胀,还有其他一些形态学操作,例如:
-
开运算(Opening): 先腐蚀后膨胀的操作。这有助于去除小的对象(如噪点),而不改变大对象的大小。
-
闭运算(Closing): 先膨胀后腐蚀的操作。这有助于关闭前景对象内的小洞,或小黑点,并连接近距离的对象。
-
形态学梯度(Morphological Gradient): 膨胀图与腐蚀图之差。该操作提供了对象边界的轮廓。
-
顶帽(Top Hat): 原始图像与开运算之后图像的差。这有助于提取比邻近背景稍亮的小对象。
-
黑帽(Black Hat): 闭运算之后的图像与原始图像的差。这有助于提取比邻近背景稍暗的小对象。