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;
}
本文介绍了一个函数GetAreaMaxContour,用于从一组轮廓中找出面积最大的轮廓。通过遍历所有轮廓并计算每个轮廓的面积来实现,最终返回指向面积最大轮廓的指针。
1万+

被折叠的 条评论
为什么被折叠?



