AttributeError: module 'cv2' has no attribute 'SIFT'

*爱你&永不变心* 提交于 2019-11-27 12:43:58

原因:opencv将SIFT等算法整合到xfeatures2d集合里面了。

将siftDetector=cv2.SIFT()

变更后为

siftDetector= cv2.xfeatures2d.SIFT_create()

即可正常使用SIFT算法。

import cv2
import numpy as np

img = cv2.imread('C:/Users/www12/Desktop/Photo/test_1.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

sift = cv2.xfeatures2d.SIFT_create()
kp = sift.detect(gray, None)

img = cv2.drawKeypoints(gray, kp, img)

cv2.imshow('img',cv2.resize(img, (800, 600))) 
cv2.waitKey(0) 
cv2.destroyAllWindows()

在这里插入图片描述

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!