这是个图像膨胀的例子

    技术2022-05-20  52

    #include "import.h" #include #include

    IplImage* src = 0; IplImage* image = 0; IplImage* dest = 0;

    //the address of variable which receives trackbar position update int pos = 0;

    //callback function for slider , implements opening void Opening(int id)   {     id;     cvErode(src,image,NULL,pos);     cvDilate(image,dest,NULL,pos);     cvShowImage("Opening&Closing window",dest); }  

    //callback function for slider , implements closing void Closing(int id)   {     id;     cvDilate(src,image,NULL,pos);     cvErode(image,dest,NULL,pos);     cvShowImage("Opening&Closing window",dest); }

    //callback function for slider , implements erosion void Erosion(int id)   {     id;     cvErode(src,dest,NULL,pos);     cvShowImage("Erosion&Dilation window",dest); }

    //callback function for slider , implements dilation void Dilation(int id)   {     id;     cvDilate(src,dest,NULL,pos);     cvShowImage("Erosion&Dilation window",dest); }

    int main( int argc, char** argv ) {     char* filename = argc == 2 ? argv[1] : "c://33.jpg";     if( (src = cvLoadImage(filename,1)) == 0 )         return -1;

        image = cvCloneImage(src);     dest = cvCloneImage(src);

        //create windows for output images     cvNamedWindow("Opening&Closing window",1);     cvNamedWindow("Erosion&Dilation window",1);

        cvShowImage("Opening&Closing window",src);     cvShowImage("Erosion&Dilation window",src);

        cvCreateTrackbar("Open","Opening&Closing window",&pos,10,Opening);     cvCreateTrackbar("Close","Opening&Closing window",&pos,10,Closing);     cvCreateTrackbar("Dilate","Erosion&Dilation window",&pos,10,Dilation);     cvCreateTrackbar("Erode","Erosion&Dilation window",&pos,10,Erosion);

        cvWaitKey(0);     //releases header an dimage data      cvReleaseImage(&src);     cvReleaseImage(&image);     cvReleaseImage(&dest);     //destroys windows     cvDestroyWindow("Opening&Closing window");     cvDestroyWindow("Erosion&Dilation window");

        return 0; }


    最新回复(0)