提问人:Tutu 提问时间:9/8/2022 最后编辑:Christoph RackwitzTutu 更新时间:9/8/2022 访问量:41
TypeError:带有 ORB_create() 的 self 类型不正确(必须是“DescriptorMatcher”或其派生词)
TypeError: Incorrect type of self (must be 'DescriptorMatcher' or its derivative) with ORB_create()
问:
我想使用 cv2 计算单调矩阵。为此,我首先使用,然后按照如何使用具有图像单调的 Orb 检测器中的讨论进行讨论。ORB_create()
但是,在执行此操作时,我收到一个错误matches = bf.match(descs1, descs2)
File "/var/folders/_s/sk0g6rrx3_v_fl0y8zybdb8c0000gn/T/ipykernel_32180/2073887229.py", line 2, in <module>
matches = bf.match(descs1, descs2)
TypeError: Incorrect type of self (must be 'DescriptorMatcher' or its derivative)
是什么导致了这个问题,我该如何解决?
编辑
这是对我有用的部分:
MIN_MATCH_COUNT = 20
kpts1, descs1 = orb.detectAndCompute(img1,None)
kpts2, descs2 = orb.detectAndCompute(img2,None)
## match descriptors and sort them in the order of their distance
bf = cv2.BFMatcher(cv2.NORM_HAMMING, crossCheck=True)
matches = bf.match(descs1, descs2)
IMG1 和 IMG2 是灰度图像和形状为 128x128 的 numpy 数组类型。在我收到上面的错误之后。bf.match
答: 暂无答案
评论
bf = cv2.BFMatcher_create(cv2.NORM_HAMMING, crossCheck=True)