opencv:图像的腐蚀和膨胀
1.图像的腐蚀
图像的腐蚀和膨胀都是相对于像素值高(白色方向)说的,腐蚀简单的说就是白色”被腐蚀“了,也就是像素值低(黑色方向)的变多,白色变少。
腐蚀的原理是利用一个内核对图像进行卷积(扫描),内核中有一个点被定义为锚点,然后提取内核覆盖区域的像素最小值(黑色方向)来替换锚点位置的像素值,所以扫描过后黑色变多。
代码:
Mat img = imread("img.jpg"); imshow("src", img); Mat erodeElement = getStructuringElement(MORPH_RECT, Size(10, 10)); // 获得内核 erode(img, img, erodeElement); // 腐蚀函数 imshow("erode", img); waitKey(0);
效果图:(变得不可爱了,哈哈)
2.图像的膨胀
和腐蚀一样,也是相对于白色来说,膨胀就是像素值高的(白色方向)变多了(膨胀了),和腐蚀相反,膨胀是提取内核区域的最大值(白色方向)来替换锚点位置的像素值。
代码:
Mat img = imread("img.jpg"); imshow("src", img); Mat dilateElement = getStructuringElement(MORPH_RECT, Size(10, 10)); // 获得内核 dilate(img, img, dilateElement); // 膨胀函数 imshow("dilate", img);
效果图:
------------ 转载请注明出处 ------------