opencv形态学滤波:腐蚀与膨胀-dilate(膨胀)、erode(腐蚀)函数

膨胀与腐蚀主要功能如下:

  • 消除噪声
  • 分割出独立的图像元素,在图像中连接相邻的元素
  • 寻找图像中的明显的极大值区域或极小值区域
  • 求出图像的梯度
经膨胀操作出来的效果图看起来就是:亮的更亮
经腐蚀操作出来的效果图看起来就是:暗的更暗

膨胀–dilate函数:

#include<opencv2/core.hpp>
#include<opencv2/highgui.hpp>
#include<opencv2/imgproc.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int main()
{
    
    
    Mat src=imread("1.png");
    Mat dst;
    imshow("原图",src);

    Mat element=getStructuringElement(MORPH_RECT,Size(15,15));
    dilate(src,dst,element);

    imshow("效果图",dst);
    waitKey(0);

    return 0;
}

经膨胀操作出来的效果图看起来就是:亮的更亮
在这里插入图片描述

腐蚀–erode函数:

#include<opencv2/core.hpp>
#include<opencv2/highgui.hpp>
#include<opencv2/imgproc.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int main()
{
    
    
    Mat src=imread("1.png");
    Mat dst;
    imshow("原图",src);

    Mat element=getStructuringElement(MORPH_RECT,Size(15,15));
    erode(src,dst,element);

    imshow("效果图",dst);
    waitKey(0);

    return 0;
}

经腐蚀操作出来的效果图看起来就是:暗的更暗
在这里插入图片描述

getStructuringElement函数解析

Mat element=getStructuringElement(MORPH_RECT,Size(15,15));

第一个参数表示内核的形状,可选择如下三种形状之一:

  • 矩形:MORPH_RECT
  • 交叉形:MORPH_CROSS
  • 椭圆形:MORPH_ELLIPSE

第二个参数是内核的大小

猜你喜欢

转载自blog.csdn.net/seniorc/article/details/112253791