gpt4 book ai didi

opencv - OpenCV Python:没有drawMatchesknn函数

转载 作者:行者123 更新时间:2023-12-02 16:38:47 33 4
gpt4 key购买 nike

当我尝试使用此tutorial中提到的drawMatchesKnn函数进行FLANN功能匹配时,出现以下错误

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



我与其他资源一起检查过opencv中是否存在drawMatchesKnn方法。

为什么会出现此错误?

提前致谢

最佳答案

较新版本的OpenCV 2.4中不提供cv2.drawMatchescv2.drawMatchesKnn函数。 @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 - OpenCV Python:没有drawMatchesknn函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32466635/

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