Hai
cvFindContours(binaryim, contourStorage, &contourSeq, sizeof(CvContour),CV_RETR_CCOMP, CV_CHAIN_APPROX_SIMPLE, cvPoint(0, 0));
&contourSeq是用于储存轮廓的序列
contourSeq->total 所表示的是contourSeq 当前指针所指向轮廓 所包含像素点的数目而非轮廓总数
采用如下放下计数轮廓数量:
for(;contourSeq!=0;contourSeq=contourSeq->h_next)
{
contourcount++;
}
printf("contour count is %d",contourcount);
可直接运行代码如下:
1 #include "cv.h" 2 #include "highgui.h" 3 #include <stdio.h> 4 #include <math.h> 5 #include <iostream> 6 #include <ctime> 7 using namespace cv; 8 CvSeq *contourSeq = NULL; 9 10 IplImage* ImageThreshold(IplImage* src) 11 { 12 IplImage *gray,*binaryim; 13 int height,width; 14 gray=cvCreateImage(cvGetSize(src),src->depth,