opencv基础(七)形态学操作

上一节,我们学习过图像的膨胀和腐蚀,简单地来说,以最大值代替中心像素则为膨胀,以最小值代替中心像素则为腐蚀,虽然这种说法不是很严谨,但是便于我们理解。这一节我们来学习一下,图像的形态学操作,它是基于膨胀和腐蚀的一种拓展。那主要包括哪些呢?包括开操作,闭操作,形态学梯度,顶帽,黑帽。

那下面我们一一来解释。

1、开操作:先腐蚀后膨胀。

假设对象是前景色,背景 是黑色,可以去掉小的对象。比如:

这时候是把多余的白色去掉了。

代码:

 Mat src=imread("D:\\3.png");
    Mat dst;
    if(src.empty())
    {
       qDebug()<<"fail to load";
    }
    Mat kerel=getStructuringElement(MORPH_RECT,Size(19,19));
    morphologyEx(src,dst,CV_MOP_OPEN,kerel);
    imshow("src",src);
    imshow("dst",dst);
    waitKey(-1);

结果:

2、闭操作:先膨胀后腐蚀。

代码:

 Mat src=imread("D:\\4.png");
    Mat dst;
    if(src.empty())
    {
       qDebug()<<"fail to load";
    }
    Mat kerel=getStructuringElement(MORPH_RECT,Size(19,19));
    morphologyEx(src,dst,CV_MOP_CLOSE,kerel);
    imshow("src",src);
    imshow("dst",dst);
    waitKey(-1);

结果:

我们可以看出将黑色的孔给去掉了。

3、形态学梯度。

      膨胀减去腐蚀。

4、顶帽:原图像与开操作的差值图像。

5、黑帽:闭操作与原图像的差值图像。

猜你喜欢

转载自blog.csdn.net/qq_34062754/article/details/86656799