首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenCV python接口: FlannBasedMatcher

OpenCV python接口: FlannBasedMatcher
EN

Stack Overflow用户
提问于 2011-11-29 04:35:33
回答 3查看 10.7K关注 0票数 9

我正在尝试重写here描述的代码。使用python API for Opencv。

代码的第3步包含以下几行:

代码语言:javascript
复制
 FlannBasedMatcher matcher;
 std::vector< DMatch > matches;
 matcher.match( descriptors_object, descriptors_scene, matches );

我在the OpenCV reference中一遍又一遍地查找,但没有发现任何与python中的FlannBasedMatcher或其他可以完成这项工作的对象相关的内容。

有什么想法吗?

注意:我正在使用OpenCV 2.3.1和Python2.6

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-11-29 21:26:14

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

代码如下:

代码语言:javascript
复制
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]
票数 10
EN

Stack Overflow用户

发布于 2011-11-29 06:14:27

OpenCV主干中已经提供了Python型FlannBasedMatcher,但如果我没记错的话,它是在2.3.1版本之后添加的。

下面是使用FlannBasedMatcher的OpenCV示例:http://code.opencv.org/projects/opencv/repository/revisions/master/entry/samples/python2/feature_homography.py

票数 3
EN

Stack Overflow用户

发布于 2019-09-10 14:06:44

我不能在上面的帖子上发布死链接,因为缺乏声誉。所以,我把它贴在这里。

The dead link(feature_homography.py)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8301962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档