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

	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;

	}


 

 

你可能感兴趣的:(得到轮廓中面积最大的的轮廓)