计算两个描述符之间的距离

Calculate distance between two descriptors

本文关键字:之间 距离 描述 两个 计算      更新时间:2023-10-16

我正在尝试计算已经计算的两个描述符之间的距离(欧几里得或汉明)。问题是我不想使用匹配器,我只想计算两个描述符之间的距离。我使用的是OpenCV 2.4.9,我的描述符存储在一个Mat类型中:

Mat descriptors1;
Mat descriptors2; 

现在我只想计算描述符1的行1和描述符2的行1之间的距离(例如,优选汉明距离,因为我使用的是二进制描述符)。

我试过使用bitwise_xor()函数,但后来我没有找到一种有效的方法来计算比特数。没有函数来计算两个阵列之间的hamming距离?

我注意到我是OpenCV的新手,但我很感激任何帮助。感谢

您可以使用opencv的范数函数来实现这一点。

Mat descriptors1;
Mat descriptors2; 
double dist_l2  = norm(descriptors1,descriptors2,NORM_L2);      // l2 for surf,sift
double dist_ham = norm(descriptors1,descriptors2,NORM_HAMMING); // for ORB,BRIEF,etc.