学习OpenCV 10 图像形态学(Image Morphology)操作
膨胀与腐蚀Dilation and Erosion
膨胀(dialation)是一种卷积操作,它将目标像素的值替换为卷积核覆盖区域的局部最大值。就像中值滤波一样,这是个非线性核的例子。通常,膨胀采用的核(kernel)是一个四边形或圆形的实心核,其锚点(anchor point)在中心。
腐蚀(erosion)是和膨胀相反的操作,复式操作计算的是核覆盖范围内的局部最小值。
下图分别解释了形态学膨胀(左)和形态学腐蚀(右)的效果:
膨胀和腐蚀是最基础的形态学变换,它们可以用来消除噪声、元素分割和连接等。总的来说:
- 膨胀扩张了明亮区域,腐蚀缩减了明亮区域;
- 膨胀填充凹面,腐蚀消除凸起。
OpenCV中用cv::dilate()和cv::erode()函数实现膨胀和腐蚀操作:
void cv::dilate(
cv::InputArray src, //输入图像
cv::OutputArray dst,