zed*_*edv 1 c++ opencv euclidean-distance hamming-distance feature-descriptor
我正在尝试计算已计算的两个描述符之间的距离(欧几里德或汉明).问题是我不想使用匹配器,我只想计算两个描述符之间的距离.我正在使用OpenCV 2.4.9,并且我的遗留描述符存储在Mat类型中:
Mat descriptors1;
Mat descriptors2;
Run Code Online (Sandbox Code Playgroud)
现在我只想计算描述符1的row1和描述符2的row1之间的距离(最好是因为我使用二进制描述符的汉明距离)(例如).
我试过使用bitwise_xor()函数,但后来我没有一个有效的方法来做bitcount.没有函数来计算两个阵列之间的汉明距离?
我注意到我对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.
Run Code Online (Sandbox Code Playgroud)