gpt4 book ai didi

c++ - FLANN 匹配之间的 OpenCV 汉明距离

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:18:23 24 4
gpt4 key购买 nike

在使用 flann 匹配器时,有没有办法在不手动计算的情况下获取两个匹配描述符之间的汉明距离? (即遍历匹配的描述符,对每个元素进行异或运算,然后计数)。

我正在匹配由 ORB 计算的描述符,如下所示:

FlannBasedMatcher flannMatcher;
flannMatcher.match(des1, des2, matches);

如果我检查距离:

cout << matches.at(0).distance;

我得到了 NORM_L2 距离,但是我的应用程序需要汉明距离。

上下文:

我想这样做的原因是我使用 ORB 从训练图像集中生成训练描述符,使用强力匹配器查找匹配项,然后根据汉明距离过滤不良匹配项。

然后我想使用 flann 匹配器将网络摄像头流上的描述符与这些火车描述符进行匹配(并显示哪些训练图像与当前帧最匹配),但由于 flann 匹配器似乎没有给出汉明距离 在过滤掉不良匹配方面我遇到了困难,在选择最匹配的火车图像时我遇到了很多错误。

最佳答案

在 OpenCV 的教程中,描述了如何为 SIFT 和 ORB 创建基于 flann 的匹配器(这里是 ORB)

While using ORB, you can pass the following. The commented values are recommended as per the docs, but it didn't provide required results in some cases. Other values worked fine.:

FLANN_INDEX_LSH = 6
index_params= dict(algorithm = FLANN_INDEX_LSH,
table_number = 6, # 12
key_size = 12, # 20
multi_probe_level = 1) #2

https://docs.opencv.org/3.4/dc/dc3/tutorial_py_matcher.html

关于c++ - FLANN 匹配之间的 OpenCV 汉明距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30152498/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com