获取类型错误:使用cv2.drawMatches时参数“matches1to2”应为cv::DMatch

2024-09-27 00:13:15 发布

您现在位置:Python中文网/ 问答频道 /正文

您好,我已经实现了DMatch类,如下所示:


    class DMatch:
        def __init__(self, distance, queryIdx, trainIdx, imgIdx):  
            self.distance = float(distance)
            self.queryIdx = int(queryIdx)
            self.trainIdx = int(trainIdx)
            self.imgIdx = int(imgIdx)

我计算了两张图片中两个描述符的距离,找到了最佳匹配。 我想在cv2窗口上显示它,使用: img = cv2.drawMatches(img1, kp1, img2, kp2, topFeatures[:10], None, flags=2) 然而,我一直得到TypeError: Expected cv::DMatch for argument 'matches1to2' 我已经检查了类中字段的类型,包括两张图片的关键点,并且我已经创建了cv2 DMatch类中除函数之外的所有字段。 你们知道我能修什么吗? 先谢谢你


Tags: self距离initdef图片floatcv2描述符

热门问题