найти расстояние между контурами / объектами в opencv - PullRequest
4 голосов
/ 17 ноября 2011

Я нашел контуры, используя 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 Ответ

3 голосов
/ 17 ноября 2011

Я бы использовал cvMoments для вычисления центроида каждого контура, а затем вычислил евклидово расстояние между двумя центроидами. Здесь - сообщение об этом на openframeworks. Здесь - сообщение из списка рассылки opencv.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...