我试图计算已计算的两个描述符之间的距离(欧几里德或汉明)。问题是我不想使用匹配器,我只想计算两个描述符之间的距离。 我使用的是OpenCV 2.4.9,并且我的矿井描述符存储在Mat类型中:
Mat descriptors1;
Mat descriptors2;
现在我只想计算描述符1的row1和descriptors2的row1之间的距离(最好是使用二进制描述符的汉明距离)。(例如)。
我试过使用bitwise_xor()函数,但后来我没有一个有效的方法来做bitcount。没有函数来计算两个数组之间的汉明距离?
我注意到我对OpenCV相当新,但我感谢任何帮助。谢谢
答案 0 :(得分:6)
你可以使用opencv的norm功能。
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.