膨胀与腐蚀主要功能如下:
- 消除噪声
- 分割出独立的图像元素,在图像中连接相邻的元素
- 寻找图像中的明显的极大值区域或极小值区域
- 求出图像的梯度
经膨胀操作出来的效果图看起来就是:亮的更亮
经腐蚀操作出来的效果图看起来就是:暗的更暗
膨胀–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
第二个参数是内核的大小