我想知道openCV BFMatcher和FlannBasedMatcheropenCV 之间匹配的精度或质量有什么不同.我知道FlannBasedMatcher应用于大型数据库时可能会更快,但是无论执行时间如何,两个匹配器都会在最后找到相同的匹配?
Jon*_*rin 25
BFMatcher将尝试所有可能性(这是" 蛮力 " 的意思,因此它会找到最佳匹配.
FLANN,意思是" 近似最近邻居的快速库 ",会快得多,但会找到近似的最近邻居.它会找到一个很好的匹配,但不一定是最好的匹配.您可以使用FLANN的参数来提高精度(即匹配的"质量"),但这会以降低算法速度为代价.
换句话说:FLANN比BFMatcher快得多,但它只找到一个近似的最近邻居,这是一个很好的匹配,但不一定是最好的.您可以使用FLANN的参数来提高其速度或精度.
小智 8
为了增加上述答案,FLANN构建了一个高效的数据结构(KD-Tree),用于搜索近似邻居,而cv :: BFMatcher进行穷举搜索并保证找到最佳邻居.使用大型数据集可以看到FLANN的真正好处.根据我的经验,我看到一个合理的好处是描述符的数量大于1K.
| 归档时间: |
|
| 查看次数: |
10596 次 |
| 最近记录: |