将轮廓检测的各个轮廓提取出来并显示

    技术2022-05-20  39

    今晚想到要将之前轮廓检测所得到的各个轮廓提取出来观察并找到特征点进行特征检测.通过查找相关资料和群友的帮助之下,终于实现了这个功能,下面是主要代码:

    for(int o=0;contour;contour = contour->h_next)    {

    cvNamedWindow("Sub Image", 1);

    //取得最小外接矩形CvRect rect = cvBoundingRect(contour);tmp=cvCreateImage(cvSize(rect.width, rect.height), IPL_DEPTH_8U, 3);

    //图像放大tmp2=cvCreateImage(cvSize(rect.width*20, rect.height*20), IPL_DEPTH_8U, 3);cvSetImageROI( pContourImg, rect );cvCopy(pContourImg, tmp, NULL);cvResize( tmp, tmp2, CV_INTER_AREA  );

    //显示图像cvShowImage( "Sub Image", tmp2 );o++;

              //保存图像          if(cvWaitKey(0)=='s'){            sprintf(s, "C://MyTestImages//%d%d.bmp", time(NULL),o);              cvSaveImage(s,tmp2);            }         cvResetImageROI(pContourImg);         cvReleaseImage( &tmp );         cvDestroyWindow( "Sub Image" );}

    提取各个轮廓图像后就可以进行分析判断,从而提取出想要的信息.


    最新回复(0)