OpenCV, C++: Distance between two points

Marc Pilgaard picture Marc Pilgaard · Nov 25, 2011 · Viewed 56.4k times · Source

For a group project, we are attempting to make a game, where functions are executed whenever a player forms a set of specific hand gestures in front of a camera. To process the images, we are using Open-CV 2.3.

During the image-processing we are trying to find the length between two points. We already know this can be done very easily with Pythagoras law, though it is known that Pythagoras law requires much computer power, and we wish to do this as low-resource as possible.

We wish to know if there exist any build-in function within Open-CV or standard library for C++, which can handle low-resource calculations of the distance between two points. We have the coordinates for the points, which are in pixel values (Of course).

Extra info: Previous experience have taught us, that OpenCV and other libraries are heavily optimized. As an example, we attempted to change the RGB values of the live image feed from the camera with a for loop, going through each pixel. This provided with a low frame-rate output. Instead we decided to use an Open-CV build-in function instead, which instead gave us a high frame-rate output.

Answer

Yonatan Simson picture Yonatan Simson · Mar 11, 2015

You should try this

cv::Point a(1, 3);
cv::Point b(5, 6);
double res = cv::norm(a-b);//Euclidian distance