gpt4 book ai didi

python - 在 OpenCV+Python 中使用 knnMatch 时出错

转载 作者:太空狗 更新时间:2023-10-29 18:29:05 28 4
gpt4 key购买 nike

我想用Python+OpenCV匹配两张图片。我已经使用 SURF 从它们中提取关键点和描述符。现在,我需要匹配这些描述符,因此我决定使用 Flann Matcher。

flann_params = dict(algorithm = FLANN_INDEX_KDTREE,trees = 4)    
matcher = cv2.FlannBasedMatcher(flann_params, {})

但是当我尝试将 knnMatch 与描述符(desc1、desc2)一起使用时,openCV 会抛出异常。

raw_matches=matcher.knnMatch(np.asarray(desc1),np.asarray(desc2), 2)

异常(exception)情况如下:

raw_matches=matcher.knnMatch(np.asarray(desc1),np.asarray(desc2), 2) #2
cv2.error: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_opencv/opencv/work/OpenCV-2.4.2/modules/flann/src/miniflann.cpp:299: error: (-210) type=6
in function buildIndex_

如何正确使用 knnMatch?是Bug吗?

最佳答案

我使用正确的数据类型和函数 np.asarray() 解决了这个问题

raw_matches=matcher.knnMatch(np.asarray(desc1,np.float32),np.asarray(desc2,np.float32), 2) #2

关于python - 在 OpenCV+Python 中使用 knnMatch 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12508934/

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