OpenCV学习十一:dilate、erode 膨胀及腐蚀

膨胀及腐蚀,函数很简单,就写了个Demo

定义:

膨胀---图像膨胀的过程类似于一个卷积的过程,假设有图像矩阵A以及结构元素B(注意,B的形状、尺寸没有限制),B在A矩阵上依次移动,每个位置上B所覆盖元素的最大值替换B的中心位置值(即锚点处),即为膨胀的过程。

腐蚀---腐蚀的过程与膨胀一致,区别在于用最小值替换中心位置值。

# include
# include

using namespace std;
using namespace cv;

int main(int atgc, char ** argv)
{
	Mat img = imread("1.jpg", -1); 
	pyrDown(img,img,Size(img.cols/2, img.rows/2));

	Mat out1;
	Mat structElement1 = getStructuringElement(MORPH_RECT, Size(4,4), Point(-1,-1));
	dilate(img,out1,structElement1);
	imshow("膨胀", out1);imwrite("膨胀.jpg", out1);

	Mat out2;
	Mat structElement2 = getStructuringElement(MORPH_RECT, Size(4,4), Point(-1,-1));
	erode(img,out2,structElement2);
	imshow("腐蚀", out2);imwrite("腐蚀.jpg", out2);

	waitKey();
	return 0;
}

原图

OpenCV学习十一:dilate、erode 膨胀及腐蚀_第1张图片

 

腐蚀

OpenCV学习十一:dilate、erode 膨胀及腐蚀_第2张图片

 

膨胀

OpenCV学习十一:dilate、erode 膨胀及腐蚀_第3张图片

你可能感兴趣的:(OpenCV)