gpt4 book ai didi

opencv - BruteForce Feature Matching 如何计算 "distance"值?

转载 作者:太空宇宙 更新时间:2023-11-03 21:08:51 24 4
gpt4 key购买 nike

我编写了一个应用程序来检测关键点、计算它们的描述符并将它们与 OpenCV 中的 BruteForce 相匹配。这就像一个魅力。

但是:匹配对象中的距离是如何计算的?

例如:我正在使用 SIFT 并获得每个关键点具有 128 个浮点值的描述符向量。在匹配中,将关键点与例如 10 个具有相同矢量大小的其他描述符进行比较。现在,我得到了距离为 0.723 的“最佳匹配”。

这是一个向量到另一个向量的所有 float 的每一个欧氏距离的平均值吗?我只想了解这个值是如何产生的。

最佳答案

默认情况下,根据 Open-CV 文档,BFMatcher 使用 L2 范数。

C++: BFMatcher::BFMatcher(int normType=NORM_L2, bool crossCheck=false )

Parameters:
normType – One of NORM_L1, NORM_L2, NORM_HAMMING, NORM_HAMMING2.
L1 and L2 norms are preferable choices for SIFT and SURF descriptors ...

参见:http://docs.opencv.org/modules/features2d/doc/common_interfaces_of_descriptor_matchers.html?highlight=bruteforcematcher#bruteforcematcher

最佳匹配是与所有其他特征向量相比距离最短的特征向量。

关于opencv - BruteForce Feature Matching 如何计算 "distance"值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29303512/

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