笔记关键词检索?

在所有笔记中搜索你感兴趣的关键词!

《OpenCV3计算机视觉》 ──   Python语言实现(原书第2版)

作者:Joe Minichino&Joseph Howse著 刘波 苗贝贝 史斌 译


cv2.FlannBasedMatcher

FLANN英文全称Fast Libary for Approximate Nearest Neighbors,FLANN是一个执行最近邻搜索的库,官方网站http://www.cs.ubc.ca/research/flann。
它包含一组算法,这些算法针对大型数据集中的快速最近邻搜索和高维特征进行了优化,对于大型数据集,它比BFMatcher工作得更快。经验证、FLANN比其他的最近邻搜索软件快10倍。 
flann = cv2.FlannBasedMatcher(indexParams,searchParams) 
其中FLANN匹配对象接收两个参数:indexParams和searchParams。这两个参数在python中以字典形式进行参数传递(在C++中以结构体形式进行参数传递),为了计算匹配,FALNN内部会决定如何处理索引和搜索对象。 
1、indexParams 对于像SIFT,SURF等算法,您可以传递以下内容: indexParams = dict(algorithm = FLANN_INDEX_KDTREE,trees = 5) 参数algorithm用来指定匹配所使用的算法,可以选择的有LinearIndex、KTreeIndex、KMeansIndex、CompositeIndex和AutotuneIndex,这里选择的是KTreeIndex(使用kd树实现最近邻搜索)。KTreeIndex配置索引很简单(只需要指定待处理核密度树的数量,最理想的数量在1~16之间),并且KTreeIndex非常灵活(kd-trees可被并行处理)。 
2、searchParams SearchParams它指定索引数倍遍历的次数。 值越高,精度越高,但也需要更多时间。 如果要更改该值,请传递:searchParams = dict(checks = 50) 实际上、匹配效果很大程度上取决于输入。5 kd-trees和50 checks总能取得具有合理精度的结果,而且能够在很短的时间内完成匹配。

参考资料: https://www.cnblogs.com/zyly/p/9646201.html

评论 (0)

发布评论

你的邮箱地址不会被公开。请输入所有带 * 的信息。