问题描述
- 我在Google Colab上的代码
import cv2 as cv
image = cv.imread("/content/drive/My Drive/Image.bmp")
gray_image = cv.cvtColor(image,cv.COLOR_BGR2GRAY)
sift = cv.xfeatures2d_SIFT.create()
keyPoints = sift.detect(image,None)
output = cv.drawKeypoints(image,keyPoints,None)
cv.imshow("FEATURES DETECTED",output)
cv.imshow("norMAL",image)
cv.waitKey(0)
cv.destroyAllWindows()
* AttributeError跟踪(最近一次通话) 在()中 4 gray_image = cv.cvtColor(image,cv.COLOR_BGR2GRAY) 5 ----> 6筛选= cv.xfeatures2d_SIFT.create() 7个关键点= sift.detect(image,None) 8
- AttributeError:模块'cv2.cv2'没有属性'xfeatures2d_SIFT'
解决方法
要做的第一件事是查看您正在使用的确切版本,所有版本都在运行:
print (cv2 .__ version__)
如果 version = 4.4.0 ,则sift = cv2.SIFT_create ()
如果 version = 4.3.x ,则sift = cv2.xfeatures2d.SIFT_create ()
如果 Version = 4.2.x或4.1.xu 4.0.x ,则SIFT将不起作用,因此在构建python软件包,激活open-尚未激活contrib模块以及使用非自由算法。
在Google colab上,您可以通过简单地使用 pip 命令并在感叹号“!” 之前安装所需的opencv版本,并按如下所示指定opencv版本:
!pip install opencv-contrib-python==4.4.0.44
注意: 在我撰写本文时,C ++中openv的最后可用版本是4.5.0版。 ,而最新版本的opencv python软件包为4.4.0.44