gpt4 book ai didi

OpenCV Python : No drawMatchesknn function

转载 作者:太空宇宙 更新时间:2023-11-03 20:43:55 25 4
gpt4 key购买 nike

当我尝试使用此 tutorial 中提到的 drawMatchesKnn 函数时对于 FLANN 特征匹配,我得到以下错误

AttributeError: 'module' object has no attribute 'drawMatchesKnn'

我检查了其他资源,发现 opencv 中存在 drawMatchesKnn 方法。

为什么会出现此错误?

提前致谢

最佳答案

函数 cv2.drawMatchescv2.drawMatchesKnn 在较新版本的 OpenCV 2.4 中不可用。 @rayryeng 提供了 lightweight alternative对于 DescriptorMatcher.match 的输出,它的工作原理是一样的。 DescriptorMatcher.knnMatch 的不同之处在于,匹配项以列表列表的形式返回。要使用 @rayryeng 替代方案,必须将匹配项提取到一维列表中。

例如,Brute-Force Matching with SIFT Descriptors and Ratio Test教程可以这样修改:

# BFMatcher with default params
bf = cv2.BFMatcher()
matches = bf.knnMatch(des1,des2, k=2)

# Apply ratio test
good = []
for m,n in matches:
if m.distance < 0.75*n.distance:
# Removed the brackets around m
good.append(m)

# Invoke @rayryeng's drawMatches alternative, note it requires grayscale images
gray1 = cv2.cvtColor(img1,cv2.COLOR_BGR2GRAY)
gray2 = cv2.cvtColor(img2,cv2.COLOR_BGR2GRAY)
drawMatches(gray1,kp1,gray2,kp2,good)

关于OpenCV Python : No drawMatchesknn function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20172953/

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