Ошибка вокруг метода detectAndComputer в коде Python openCV - PullRequest
0 голосов
/ 02 февраля 2019

Я использую python 3.6.3, opencv-contrib-python-3.3.1.11 в VS Code.Я пытаюсь запустить следующий код:

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.Моя ошибка не в создании, а скорее в методе defineAndComputer.Это ошибка:

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

Ответы [ 2 ]

0 голосов
/ 02 февраля 2019

Должно быть sift.detectAndCompute, а не sift.detectAndCompute (r)

0 голосов
/ 02 февраля 2019

Правильный вызов kp1, des1 = sift.detectAndCompute(image1,None), а не detectAndComputer.

Есть некоторые подробности об этом процессе и синтаксис кода здесь

...