这个错误是因为cv2.drawMatches函数的参数matches1to2需要传入一个cv::DMatch类型的参数,而你传入的是一个numpy数组。你需要将matches转换为cv::DMatch类型的数据结构。

你可以将matches转换为cv::DMatch类型的数据结构,然后再调用cv2.drawMatches函数。代码示例如下:

matches = [cv2.DMatch(i, i, 0) for i in range(matches.shape[0])]
img3 = cv2.drawMatches(img1, kp1, img2, kp2, matches, None, flags=2)

在上面的代码中,我们使用了列表推导式将matches转换为cv::DMatch类型的数据结构,并将其存储在matches变量中。然后我们将matches传递给cv2.drawMatches函数。

注意,这里我们假设matches的第一列是匹配的特征点索引,第二列是匹配的特征点索引,你可能需要根据你的数据结构进行相应的调整。

python36matches = flannknnMatchdes1des2k=2matches = nparraymatchesreshape-12 10#matches = matchesreshape-1 2 10# 绘制匹配结果img3 = cv2drawMatchesimg1kp1img2kp2matchesNone flags=2Traceback most recent call

原文地址: https://www.cveoy.top/t/topic/iLFS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录