What units is the 'distance' measured in? (in the matches of a SURF)

I have been looking at feature detection and matching using the SURF and BFMatcher methods. In order to draw these matches, the maximum and minimum distances are calculated to help find 'good matches'

My question is, what unit is the distance calculated in? (cm, mm, inches).

This distance is the distance between two matched points. Is my understanding correct?

Thank you.

edit retag close merge delete

no, it's not the distance between the points, but the one between the corresponding feature vectors, aka norm(f1,f2,NORM_L2)

So a 'larger distance' would represent a longer distance between two matched points and vice versa?

2

again, no. it's the similarity of the feature vectors, not the distance between matched points

see, that's the whole trick of the feature-matching: you don't know, if the (other) image was rotated/scaled/translated, so you can't compare the point locations.

what you can compare, is the features at the found keypoints. if you find a similar one in the other set, you can estimate, that this is the corresponding keypoint.

yes, I think it is in cm, too ... A 'larger distance' would represent that the two features are not similar, maybe you can start by understanding features and descriptors ;)

1

no, nothing is ever measured in cm here.

the point distances are in pixels, the feature distances might be bits (for the binary ones, like orb and brief), or 'histogram bins' for surf/sift

That makes a lot more sense than what I was assuming it to be. Just to make sure I have understood. A 'shorter distance', would be a better match than a 'larger distance'?

So can we say that the distance is the magnitude of difference between the descriptors?

yes, shorter distance == better match.

what do you mean by 'magnitude' ?