OpenCV ORB描述符:类型错误:self的类型不正确(必须是'Feature2D'或其派生物)

21

我完全按照这个简单的OpenCV特征匹配示例操作:

import cv2

img = cv2.imread('box.png',0) # queryImage
orb = cv2.ORB()               # Initiate ORB detector

# find the keypoints and descriptors with ORB
kp1, des1 = orb.detectAndCompute(img, None)

我一直遇到以下错误:

TypeError: Incorrect type of self (must be 'Feature2D' or its derivative)

我正在使用OpenCV 3.3.1

3个回答

61

这是一个OpenCV版本兼容性问题。只需使用cv2.ORB_create()而不是cv2.ORB()

代码应该像这样:

import cv2

img = cv2.imread('box.png',0) # queryImage
orb = cv2.ORB_create()        # Initiate SIFT detector

# find the keypoints and descriptors with SIFT
kp1, des1 = orb.detectAndCompute(img, None)

6

cv2.ORB_create()应该可以胜任这项工作。


如果您要复制答案,请格式化代码。 - Tarick Welling

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接