首页 > 解决方案 > openCV python代码中detectAndComputer方法周围的错误

问题描述

我在 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)

我已经阅读了有关 SIFT 对 openCV 早期版本的更改以及使用户安装 opencv contrib 的更高版本。我的错误不是围绕 create 而是围绕 detectAndComputer 方法。这是错误:

Exception has occurred: AttributeError
'cv2.xfeatures2d_SIFT' object has no attribute 'detectAndComputer'

标签: pythonopencvsift

解决方案


正确的调用是kp1, des1 = sift.detectAndCompute(image1,None)而不是detectAndComputer.

这里有关于这个过程和代码语法的一些细节


推荐阅读