Ошибка при попытке создания sift - модуль не имеет атрибута - Python - PullRequest
0 голосов
/ 09 февраля 2019

Я пытаюсь сделать это в Python, но я получаю эту ошибку, и я не совсем понимаю, почему:

Это то, что у меня есть:

import numpy as np
import cv2

from matplotlib import pyplot as plt

img1 = cv2.imread('or1.jpg', 0)      
img2 = cv2.imread('dm1.jpg', 0) 

sift = cv2.SIFT()
kp1, des1 = sift.detectAndCompute(img1, None)
kp2, des2 = sift.detectAndCompute(img2, None)
bf = cv2.BFMatcher()
matches = bf.knnMatch(des1, des2, k=2)
good = []

for m, n in matches:
    if m.distance < 0.75 * n.distance:
        good.append([m])

img3 = cv2.drawMatchesKnn(img1, kp1, img2, kp2, good, flags=2)
plt.imshow(img3), plt.show()

И этоу меня ошибка.

sift = cv2.SIFT_create() AttributeError: module 'cv2.cv2' has no attribute 'SIFT_create' 

Может кто-нибудь помочь мне понять, что я делаю не так?

...