小编Aar*_*har的帖子

基于 Flann 的特征匹配过程中算法、树和检查的含义(OpenCV、python)

我目前正在 python 中测试 Flann 特征与 OpenCV 的匹配,并且不完全理解某些参数的实际作用。这是从 OpenCV 文档复制的一段代码。完整的代码可以在这里找到

\n
# FLANN parameters\nFLANN_INDEX_KDTREE = 1\nindex_params = dict(algorithm = FLANN_INDEX_KDTREE, trees = 5)\nsearch_params = dict(checks=50)   # or pass empty dictionary\n\nflann = cv2.FlannBasedMatcher(index_params,search_params)\n\nmatches = flann.knnMatch(des1,des2,k=2)\n
Run Code Online (Sandbox Code Playgroud)\n

我很好奇输入algorithmtrees和 的checks含义是什么。OpenCV 文档中找到的默认值通常被我在这里读到的其他代码所采用,因此我想知道是否值得操作和测试不同的值,或者是否建议坚持使用这些值?

\n
    \n
  • 各种索引参数\算法之间的主要区别是什么?\n为什么FLANN_INDEX_KDTREE最常用?

    \n
  • \n
  • 我认为这trees = 5意味着制作了 5 个 KDTree。改变这个值在实践中意味着什么?

    \n
  • \n
  • OpenCV 文档提到,增加检查值将提供\n更好的精度,但会减慢代码速度。它说: \xe2\x80\x9c如果要\n更改该值,请传递search_params = dict(checks=100)。\xe2\x80\x9d 是否值得\n探索 50 或 100 以外的值进行检查?

    \n
  • \n
\n

最后,除了 …

python opencv feature-extraction feature-detection flann

7
推荐指数
0
解决办法
955
查看次数