How to find the Euclidean distance between the center of gravity of an object in one frame and an adjacent frame

We are doing a project in vehicle counting (using OpenCV). Now we need to find the Euclidean distance from the center of gravity of an object in one frame to an adjacent frame ? In our project, we searched for the center of gravity.


source to share

2 answers

I'm going to assume that the camera hasn't moved between captures, so you don't have to worry about registration.

You should have two objects cv::Point

representing the two acquired centroids. Euclidean distance can be calculated as follows:

double euclideanDist(Point p, Point q)
    Point diff = p - q;
    return cv::sqrt(diff.x*diff.x + diff.y*diff.y);

int main(int /*argc*/, char** /*argv*/)
    Point centroid1(0.0, 0.0);
    Point centroid2(3.0, 4.0);

    cout << euclideanDist(centroid1, centroid2) << endl;

    return 0;


This outputs 5 (i.e. 3-4-5 triangle) ...

Hope it helps!



If p

and q

have a type int

, make sure the type (diff.x*diff.x + diff.y*diff.y)

is double

or float

. This way you can get a more accurate Euclidean distance.



All Articles