膨胀及腐蚀,函数很简单,就写了个Demo
定义:
膨胀---图像膨胀的过程类似于一个卷积的过程,假设有图像矩阵A以及结构元素B(注意,B的形状、尺寸没有限制),B在A矩阵上依次移动,每个位置上B所覆盖元素的最大值替换B的中心位置值(即锚点处),即为膨胀的过程。
腐蚀---腐蚀的过程与膨胀一致,区别在于用最小值替换中心位置值。
# include<stdio.h># include<opencv2/opencv.hpp>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;}
原图
腐蚀
膨胀