opencv中腐蚀与膨胀的例子

#include
#include
using namespace cv;

Mat src,dst;
char OUTPUT_WIN[]="output image";
int element_size=3;
int max_size=20;
void onChangeTrackBar(int pos, void* userdata);
int main(){
     
    src=imread("自己图像的路径");//自己图像的路径
    namedWindow("input image",CV_WINDOW_AUTOSIZE);
    namedWindow(OUTPUT_WIN,CV_WINDOW_AUTOSIZE);
    imshow("input image",src);
    createTrackbar("Element size : ",OUTPUT_WIN,&element_size,max_size,onChangeTrackBar);
    onChangeTrackBar(0,0);
    waitKey(0);
    return 0;
}

void onChangeTrackBar(int pos, void* userdata){
     
    int s=element_size*2+1;
    Mat structureElement=getStructuringElement(MORPH_RECT,Size(s,s));
    dilate(src,dst,structureElement);//膨胀
    //erode(src,dst,structureElement);//腐蚀
    imshow(OUTPUT_WIN,dst);
}

点击此处,查看原理介绍

程序运行环境:ubuntu18.04 CMake 3.10.2 opencv==3.4.5

你可能感兴趣的:(图像处理,opencv,cmake,c++,计算机视觉)