contour.cpp
上传用户:banwdc
上传日期:2016-06-25
资源大小:2871k
文件大小:1k
源码类别:

OpenCV

开发平台:

Visual C++

  1. #include "cv.h"
  2. #include "highgui.h"
  3. int main( int argc, char** argv )
  4. {
  5.     IplImage* src;
  6.     // 第一条命令行参数确定了图像的文件名。
  7.     if( argc == 2 && (src=cvLoadImage(argv[1], 0))!= 0)
  8.     {
  9.         IplImage* dst = cvCreateImage( cvGetSize(src), 8, 3 );
  10.         CvMemStorage* storage = cvCreateMemStorage(0);
  11.         CvSeq* contour = 0;
  12.         cvThreshold( src, src, 1, 255, CV_THRESH_BINARY );
  13.         cvNamedWindow( "Source", 1 );
  14.         cvShowImage( "Source", src );
  15.         cvFindContours( src, storage, &contour, sizeof(CvContour), CV_RETR_CCOMP, CV_CHAIN_APPROX_SIMPLE );
  16.         cvZero( dst );
  17.         for( ; contour != 0; contour = contour->h_next )
  18.         {
  19.             CvScalar color = CV_RGB( rand()&255, rand()&255, rand()&255 );
  20.             /* 用1替代 CV_FILLED  所指示的轮廓外形 */
  21.             cvDrawContours( dst, contour, color, color, -1, CV_FILLED, 8 );
  22.         }
  23.         cvNamedWindow( "Components", 1 );
  24.         cvShowImage( "Components", dst );
  25.         cvWaitKey(0);
  26.     }
  27. }