得到轮廓中面积最大的的轮廓

	CvSeq *GetAreaMaxContour(CvSeq *contour)
	{//在给定的contour中找到面积最大的一个轮廓,并返回指向该轮廓的指针
		double contour_area_temp=0,contour_area_max=0;
		CvSeq * area_max_contour = 0 ;//指向面积最大的轮廓
		CvSeq* c=0;
		//printf( "Total Contours Detected: %d/n", Nc );
		for(c=contour; c!=NULL; c=c->h_next )
		{//寻找面积最大的轮廓,即循环结束时的area_max_contour
			contour_area_temp = fabs(cvContourArea( c, CV_WHOLE_SEQ )); //获取当前轮廓面积
			if( contour_area_temp > contour_area_max )
			{
				contour_area_max = contour_area_temp; //找到面积最大的轮廓
				area_max_contour = c;//记录面积最大的轮廓
			}
		}
		return area_max_contour;
	}


 

 

posted @ 2013-04-03 20:22  xinyuyuanm  阅读(510)  评论(0编辑  收藏  举报