我正在VS Code中使用python 3.6.3,opencv-contrib-python-3.3.1.11。我正在尝试运行以下代码:
import cv2
image1 = cv2.imread('PATH.image1.jpg',0)
image2 = cv2.imread('PATH.image2.jpg',0)
sift = cv2.xfeatures2d.SIFT_create()
kp1, des1 = sift.detectAndComputer(image1,None)
kp2, desc2 = sift.detectAndComputer(image2,None)
我已经阅读了有关openCV早期版本和后来使用户安装opencv contrib的更高版本的SIFT的更改。我的错误不是在create周围,而是在detectAndComputer方法周围。这是错误:
Exception has occurred: AttributeError
'cv2.xfeatures2d_SIFT' object has no attribute 'detectAndComputer'
答案 0 :(得分:0)
正确的呼叫是kp1, des1 = sift.detectAndCompute(image1,None)
,而不是detectAndComputer
。
有关此过程和代码语法here
的一些详细信息答案 1 :(得分:0)
应该是sift.detectAndCompute而不是sift.detectAndCompute(r)