gpt4 book ai didi

python - OpenCV python 的 API : FlannBasedMatcher

转载 作者:太空狗 更新时间:2023-10-29 20:16:10 24 4
gpt4 key购买 nike

我正在尝试重写 here 中描述的代码.将 Python API 用于 Opencv。

代码的第 3 步有以下几行:

 FlannBasedMatcher matcher;
std::vector< DMatch > matches;
matcher.match( descriptors_object, descriptors_scene, matches );

我在the OpenCV reference里看了一遍又一遍但没有发现与 python 中的 FlannBasedMatcher 或其他可以完成这项工作的对象相关。

有什么想法吗?

注意:我使用的是 OpenCV 2.3.1 和 Python 2.6

最佳答案

查看 python2 文件夹下 OpenCV 2.3.1 提供的示例,我发现了一个不依赖于 FlanBasedMatcher 对象的基于 flann 的匹配函数的实现。

代码如下:

FLANN_INDEX_KDTREE = 1  # bug: flann enums are missing

flann_params = dict(algorithm = FLANN_INDEX_KDTREE,
trees = 4)

def match_flann(desc1, desc2, r_threshold = 0.6):
flann = cv2.flann_Index(desc2, flann_params)
idx2, dist = flann.knnSearch(desc1, 2, params = {}) # bug: need to provide empty dict
mask = dist[:,0] / dist[:,1] < r_threshold
idx1 = np.arange(len(desc1))
pairs = np.int32( zip(idx1, idx2[:,0]) )
return pairs[mask]

关于python - OpenCV python 的 API : FlannBasedMatcher,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8301962/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com