输出FLANN结果为python

时间:2015-02-25 20:40:00

标签: python opencv flann flannbasedmatcher

我目前正在使用FLANN实施LSH。

matches = flann.knnMatch(des1,k=2)

des1是我查询图像的二进制描述符& flann是flanbasedmatcher(使用FLANN LSH算法)变量,它具有图像数据库的所有二进制描述符。

如何输出knnMatch的结果?

1 个答案:

答案 0 :(得分:1)

您可能需要查看此link 它是一个opencv示例,展示了如何使用FlannBasedMatcher。 有很多话题在谈论这个问题,你应该在询问之前更好地搜索。

修改

我假设您有一个FLANN索引与des1匹配,因此如果匹配,则返回一个函数。

MIN_MATCH_COUNT = 10
def flann_match(des1):
    matches = flann.knnMatch(des1, k=2)
    # Check the distance to keep only the good matches.
    matches = [m[0] for m in matches if len(m) == 2 and m[0].distance < m[1].distance * 0.75]
    if len(matches < MIN_MATCH_COUNT)
        return False
    return True

此实施非常简单,您需要使用cv2.findHomography()documentation)来获得更好,更准确的结果,具体取决于您的目标。

希望它有所帮助。