如何在opencv4的谷歌colab中使用SIFT和SURF算法


  • 我在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灰度图像=cv.cvtColor(图像,cv.COLOR_BGR2GRAY(5.---->6 sift=cv.xfeatures2d_sift.create((7个关键点=sift.detect(图像,无(8

  • AttributeError:模块"cv2.cv2"没有属性"xfeatures2d_SIFT">

首先要做的是查看您正在使用的确切版本,所有这些都只是在运行:

print (cv2 .__ version__)

如果版本=4.4.0,则sift = cv2.SIFT_create ()

如果版本=4.3.x,则sift = cv2.xfeatures2d.SIFT_create ()

如果版本=4.2.x或4.1.xu 4.0.x,那么SIFT将不起作用,在构建python包时没有考虑到这一点,开放contrib模块的激活以及非免费算法的使用也没有激活。

在googlecolab上,只需使用pip命令并在其前面加上感叹号",就可以安装所需的opencv版本">并指定opencv版本如下:

!pip install opencv-contrib-python==4.4.0.44

注意:在我写这篇文章的时候,C++中最后一个可用的openv版本是4.5.0,而opencv-python包的最新版本是4.4.0.44

最新更新