opencv::膨胀与腐蚀

形态学操作(morphology operators)-膨胀图像形态学操作 – 基于形状的一系列图像处理操作的合集,主要是基于集合论基础上的形态学数学
形态学有四个基本操作:腐蚀、膨胀、开、闭

膨胀与腐蚀是图像处理中最常用的形态学操作手段

膨胀
跟卷积操作类似,假设有图像A和结构元素B,结构元素B在A上面移动,其中B定义其中心为锚点,计算B覆盖下A的最大像素值用来替换锚点的像素,其中B作为结构体可以是任意形状

腐蚀
腐蚀跟膨胀操作的过程类似,唯一不同的是以最小值替换锚点重叠下图像的像素值

/*
*Size //大小
*Point //锚点 默认是Point(-1, -1)意思就是中心像素
*/
getStructuringElement(int shape, Size ksize, Point anchor)

dilate(src, dst, kernel)

erode(src, dst, structureElement);

int main(int argc, char** argv) {

    Mat src, dst;
    src = imread(STRPAHT3);
    if (!src.data) {
        printf("could not load image...\n");
        return -1;
    }

    Mat kernel = getStructuringElement(MORPH_RECT, Size(5, 5), Point(-1, -1));

    //腐蚀
    //dilate(src, dst, kernel);
    //膨胀
    erode(src, dst, kernel);

    namedWindow("OUTPUT_WIN", CV_WINDOW_AUTOSIZE);
    imshow("OUTPUT_WIN", dst);

    waitKey(0);
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/osbreak/p/11454120.html