膨胀操作
#include<opencv2/opencv.hpp>
#include<iostream>
using namespace std;
using namespace cv;
Mat src;
int sizeval=3;
static void on_tracker(int ,void *)
{
Mat out;
Mat element = getStructuringElement(MORPH_RECT,Size(sizeval,sizeval));
if(sizeval>1)
{
dilate(src,out,element,Point(-1,-1),1);
imshow("src",out);
}
}
int main()
{
src = imread("e:/huangshan.jpg");
namedWindow("src",CV_WINDOW_AUTOSIZE);
createTrackbar("核函数宽度","src",&sizeval,20,on_tracker);//创建滑动条
on_tracker(sizeval,0); //回调函数
waitKey();
system("pause");
return 0;
}
腐蚀操作
#include<opencv2/opencv.hpp>
#include<iostream>
using namespace std;
using namespace cv;
Mat src;
int sizeval=3;
static void on_tracker(int ,void *)
{
Mat out;
Mat element = getStructuringElement(MORPH_RECT,Size(sizeval,sizeval));
if(sizeval>1)
{
erode(src,out,element,Point(-1,-1),1);
imshow("src",out);
}
}
int main()
{
src = imread("e:/huangshan.jpg");
namedWindow("src",CV_WINDOW_AUTOSIZE);
createTrackbar("核函数宽度","src",&sizeval,20,on_tracker);//创建滑动条
on_tracker(sizeval,0); //回调函数
waitKey();
system("pause");
return 0;
}