在opencv中找到轮廓/对象之间的距离

时间:2011-11-17 09:08:32

标签: c++ c image-processing syntax opencv

我使用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)) );

这是正确的方法吗?

1 个答案:

答案 0 :(得分:3)

我会使用cvMoments来计算每个轮廓的质心,然后计算两个质心之间的Euclidean distanceHere是关于openframeworks的帖子。 Here是来自opencv邮件列表的帖子。

希望有所帮助!