首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Google和opencv4中使用SIFT和SURF算法?

如何在Google和opencv4中使用SIFT和SURF算法?
EN

Stack Overflow用户
提问于 2020-10-22 01:45:20
回答 1查看 4.7K关注 0票数 1
  • My代码在Google

代码语言:javascript
复制
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()

  • ERROR

*AttributeError跟踪(最近一次调用) in () 4 gray_image =cv.cvtColor(图像,cv.COLOR_BGR2GRAY) 5->6 sift = cv.xfeatures2d_SIFT.create() 7 keyPoints =sift.detect(图像,无)8

  • AttributeError:模块'cv2.cv2‘没有属性'xfeatures2d_SIFT'
EN

回答 1

Stack Overflow用户

发布于 2020-10-24 19:43:02

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

代码语言:javascript
复制
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将无法工作,在构建package时没有考虑到它,因此未激活开放-控制模块的激活以及非空闲算法的使用。

在google上,您可以简单地使用pip命令安装所需的opencv版本,在命令前加上感叹号"!",并将opencv版本指定如下:

代码语言:javascript
复制
!pip install opencv-contrib-python==4.4.0.44

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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64474059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档