【问题标题】:module 'cv2.cv2' has no attribute 'xfeatures2d' and module 'cv2.cv2' has no attribute 'SIFT'模块“cv2.cv2”没有属性“xfeatures2d”,模块“cv2.cv2”没有属性“SIFT”
【发布时间】:2020-06-04 23:15:19
【问题描述】:

我的 python 版本 = 3.7.4 cv2 版本= 4.2.0

这些是我在 python 和打开 cv 上的版本,我尝试使用 SIFT 函数,我得到了著名的错误模块cv2.cv2' has no attribute 'SIFT',所以我尝试了pip install opencv-contrib-pythonpython -m pip install --user opencv-contrib-python,我将detector=cv2.SIFT() 更改为@ 987654326@ 并且错误刚刚更改为 AttributeError: module 'cv2.cv2' has no attribute 'xfeatures2d'

我尝试了我发现的类似问题,但对我不起作用,我没有找到最近的问题,这就是我打开这个新问题的原因,因为也许版本不同,这可能是对我不起作用的原因

我还能做什么?

【问题讨论】:

标签: python python-3.x opencv


【解决方案1】:

SIFT 和 SURF 是专有的专利算法。您需要从源代码编译 OpenCV 和 OpenCV-contrib,启用非免费包,构建 python 库。我无法让这个工作,所以我用 pip 找到了一个没有删除非免费库的旧版本(3.4.2)。我可能不得不回滚 python,但我不确定。我正在使用 python 3.6.8

【讨论】:

  • 你是说 Python Version = 3.6.8 和 Opencv Version=3.4.2 ,你有 SIFT 工作吗?
  • 我没有尝试过 SIFT,但我已经让 SURF 工作了。它受到同样的限制。我做了一个快速的import cv2detector =cv2.xfeatures2d.SIFT_create() 并且没有错误。
猜你喜欢
  • 2021-03-26
  • 2019-03-11
  • 2020-04-30
  • 2019-12-17
  • 2021-02-22
  • 2019-09-14
  • 2019-06-07
  • 1970-01-01
  • 2022-06-15
相关资源
最近更新 更多