我正在尝试计算已计算的两个描述符之间的距离(欧几里得或汉明)。问题是我不想使用匹配器,我只想计算两个描述符之间的距离。
我正在使用 OpenCV 2.4.9,并且我的描述符存储在 Mat 类型中:
Mat descriptors1;
Mat descriptors2;
现在我只想计算描述符 1 的 row1 和描述符 2 的 row1 之间的距离(最好是汉明距离,因为我使用的是二进制描述符)(例如)。
我尝试使用 bitwise_xor() 函数,但后来我没有找到一种有效的方法来进行位计数。有没有计算两个数组之间的汉明距离的函数?
我注意到我对 OpenCV 相当陌生,但我感谢任何帮助。谢谢
你可以使用opencv的norm http://docs.opencv.org/modules/core/doc/operations_on_arrays.html#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.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)