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

1.问题描述。

在使用opencv中的SIFT函数时遇到的上述问题,使用环境opencv3.4.2+python3

2.解决办法

        # 使用SIFT检测特征
        sift = cv.xfeatures2d.SIFT_create()      ##opencv3; cv.SIFT_create(),opencv4
        (kps, des) = sift.detectAndCompute(img, None)

是使用opencv版本的问题,opencv3.4.3一下吧中(可以免费使用)为:

cv2.xfeatures2d.SIFT_create()

opencv4.4版本上的(可以免费使用)为:

cv2.SIFT_create()

该过之后便可解决问题。

你可能感兴趣的:(opencv,计算机视觉,python)