现在的位置: 首页 > 综合 > 正文

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

2017年10月29日 ⁄ 综合 ⁄ 共 485字 ⁄ 字号 评论关闭
	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;
	}

 

【上篇】
【下篇】

抱歉!评论已关闭.