1. 程式人生 > >得到輪廓中面積最大的的輪廓

得到輪廓中面積最大的的輪廓

	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;
	}