首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BFMatcher与FlannBasedMatcher的区别

BFMatcher与FlannBasedMatcher的区别
EN

Stack Overflow用户
提问于 2012-05-16 09:45:04
回答 2查看 16.4K关注 0票数 25

我想知道openCV中的BFMatcherFlannBasedMatcher在匹配精度或质量方面有什么不同。我知道当应用于大型数据库时,FlannBasedMatcher可能会更快,但无论执行时间如何,两个匹配器最终会找到相同的匹配吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-22 14:55:07

BFMatcher将尝试所有的可能性(这就是"Brute Force“的含义,因此它将找到最佳匹配。

FLANN,意思是“近似最近邻居的快速库”,速度会快得多,但会找到近似最近邻居。它会找到一个很好的匹配,但不一定是最好的。你可以使用FLANN的参数来提高精度(即匹配的“质量”),但这将以减慢算法为代价。

换句话说: FLANN比BFMatcher快得多,但它只找到一个近似的最近邻居,这是一个很好的匹配,但不一定是最好的。您可以使用FLANN的参数来提高其速度或精度。

票数 31
EN

Stack Overflow用户

发布于 2015-06-03 01:31:52

为了补充上面的答案,FLANN构建了一个有效的数据结构(KD-树),该结构将用于搜索近似邻居,而cv::BFMatcher则进行详尽的搜索,并确保找到最佳邻居。FLANN的真正好处体现在大型数据集上。在我的经验中,我看到一个合理的好处是描述符的数量大于1K。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10610966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档