【问题标题】:How to use SIFT and SURF algorithm in Google colab with opencv4?如何在带有opencv4的Google colab中使用SIFT和SURF算法?
【发布时间】:2021-02-04 23:41:49
【问题描述】:
  • 我在 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 Traceback(最近一次调用) 在 () 4 gray_image = cv.cvtColor(image,cv.COLOR_BGR2GRAY) 5 ----> 6 筛选 = cv.xfeatures2d_SIFT.create() 7 关键点 = sift.detect(图像,无) 8

  • AttributeError:模块“cv2.cv2”没有属性“xfeatures2d_SIFT”

【问题讨论】:

  • 这些算法已获得专利。不过 ORB 还不错,您可以考虑尝试一下。
  • 他感谢我已经看到该链接不适合 Windows。关于 SURF 和 SIFT 算法,我们不能在 python 中使用它们吗?有没有其他方法我可以使用请建议。

标签: python opencv google-colaboratory sift surf


【解决方案1】:

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

print (cv2 .__ version__)

如果 版本 = 4.4.0 那么sift = cv2.SIFT_create ()

如果 版本 = 4.3.x 那么sift = cv2.xfeatures2d.SIFT_create ()

如果Version = 4.2.x or 4.1.xu 4.0.x,那么SIFT就不行了,在构建python包的时候没有考虑到,激活open- contrib 模块以及非免费算法的使用尚未激活。

在 google colab 上,您可以安装所需的 opencv 版本,只需使用 pip 命令,前面带有感叹号 "!" 并指定 opencv 版本,如下所示:

!pip install opencv-contrib-python==4.4.0.44

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

【讨论】:

  • Rashid Ladjouzi 感谢这让我很开心。 !pip install opencv-contrib-python==4.4.0.44 这对我有用。谢谢
  • 欢迎您,您可以查看此以获取更多说明:stackoverflow.com/a/64525431/12848103
猜你喜欢
  • 1970-01-01
  • 2016-09-27
  • 2013-12-01
  • 1970-01-01
  • 2020-02-29
  • 2016-02-13
  • 2012-06-25
  • 2010-11-22
  • 2013-04-06
相关资源
最近更新 更多