膨胀与腐蚀
#include<opencv2\opencv.hpp>
#include<iostream>
using namespace cv;
using namespace std;
Mat src,dst;
char output_window[] = "output image";
int element_size = 3;
int max_size = 21;
void CallBack_Demo(int, void*);
int main(int argc,char** argv ) {
src = imread("1.png");
if (src.empty())
{
printf("could not load image...\n");
return -1;
}
namedWindow("input image", WINDOW_AUTOSIZE);
imshow("input image", src);
namedWindow(output_window, WINDOW_AUTOSIZE);
// 形式参数一、trackbarname:滑动空间的名称;
/* 形式参数二、winname:滑动空间用于依附的图像窗口的名称;
形式参数三、value:初始化阈值;
形式参数四、count:滑动控件的刻度范围;
形式参数五、TrackbarCallback是回调函数,其定义如下:*/
createTrackbar("Element Size:",output_window,&element_size,max_size,CallBack_Demo);
CallBack_Demo(0,0);
waitKey(0);
return 0;
}
void CallBack_Demo(int,void*) {
//opencv中获取不同形状的结构元素 矩形(包括线形)、椭圆(包括圆形)及十字形。
//MORPH_RECT, MORPH_ELLIPSE, MORPH_CROSS
int s = element_size * 2 + 1;
Mat structureElement = getStructuringElement(MORPH_RECT, Size(s, s), Point(-1, -1));
//膨胀
dilate(src, dst, structureElement, Point(-1, -1));
imshow(output_window, dst);
}
#include<iostream>
using namespace cv;
using namespace std;
Mat src,dst;
char output_window[] = "output image";
int element_size = 3;
int max_size = 21;
void CallBack_Demo(int, void*);
int main(int argc,char** argv ) {
src = imread("1.png");
if (src.empty())
{
printf("could not load image...\n");
return -1;
}
namedWindow("input image", WINDOW_AUTOSIZE);
imshow("input image", src);
namedWindow(output_window, WINDOW_AUTOSIZE);
// 形式参数一、trackbarname:滑动空间的名称;
/* 形式参数二、winname:滑动空间用于依附的图像窗口的名称;
形式参数三、value:初始化阈值;
形式参数四、count:滑动控件的刻度范围;
形式参数五、TrackbarCallback是回调函数,其定义如下:*/
createTrackbar("Element Size:",output_window,&element_size,max_size,CallBack_Demo);
CallBack_Demo(0,0);
waitKey(0);
return 0;
}
void CallBack_Demo(int,void*) {
//opencv中获取不同形状的结构元素 矩形(包括线形)、椭圆(包括圆形)及十字形。
//MORPH_RECT, MORPH_ELLIPSE, MORPH_CROSS
int s = element_size * 2 + 1;
Mat structureElement = getStructuringElement(MORPH_RECT, Size(s, s), Point(-1, -1));
//膨胀
dilate(src, dst, structureElement, Point(-1, -1));
imshow(output_window, dst);
}
腐蚀:最小像素替换中间像素 消除小的噪声 腐蚀
膨胀:最大像素的替换中间像素