我使用cvfindcontour找到了轮廓,现在我想访问第一个和第二个轮廓并找到它们之间的欧氏距离。有人可以帮我解决它的代码吗?
CvPoint *contourPoint, *contourPoint2;
contourPoint = (CvPoint *)CV_GET_SEQ_ELEM(CvPoint,contours,1);
contourPoint2 = (CvPoint *)CV_GET_SEQ_ELEM(CvPoint,contours,2);
double dis = sqrt(double((contourPoint->x - contourPoint2->x) * (contourPoint->x - contourPoint2->x) + (contourPoint->y - contourPoint2->y) * (contourPoint->y - contourPoint2->y)) );
这是正确的方法吗?
答案 0 :(得分:3)
我会使用cvMoments来计算每个轮廓的质心,然后计算两个质心之间的Euclidean distance。 Here是关于openframeworks的帖子。 Here是来自opencv邮件列表的帖子。
希望有所帮助!