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);

  效果图:

 

posted @ 2017-02-27 22:57  whlook  阅读(3731)  评论(0编辑  收藏  举报