void CallBack_Demo(int,void*)
{
int s=element_size*2+1;
Mat structureElement = getStructuringElement(MORPH_RECT,Size(s,s),Point(-1,-1));
//膨胀
dilate(src,dst,structureElement,Point(-1,-1));
//腐蚀
// erode(src,dst,structureElement);//消除小的噪声块
imshow("OUTPUT",dst);
return;
}
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Mat src=imread("./1/3.jpg");
if(!src.data)
return -1;
namedWindow("OUTPUT",CV_WINDOW_AUTOSIZE);
//膨胀和腐蚀的操作
createTrackbar("Element Size:","OUTPUT",&element_size,max_size,CallBack_Demo); //滑块
CallBack_Demo(0,0);
kernel=getStructuringElement(MORPH_RECT,Size(3,3),Point(-1,-1));
//开操作
morphologyEx(src,dst,CV_MOP_OPEN,kernel);//先腐蚀后膨胀
imshow("morphologyEx",dst);
//形态学梯度
//顶帽, 开操作与源图像的差值图像
//黑帽, 闭操作与源图像的差值图像
opencv 膨胀与腐蚀操作
最新推荐文章于 2024-07-23 17:59:51 发布