【问题标题】:opencv error: error: OpenCV(4.2.0) /io/opencv_contrib/modules/xfeatures2d/src/sift.cpp:1210: error: (-213:The function/feature is not implemented)opencv错误:错误:OpenCV(4.2.0)/io/opencv_contrib/modules/xfeatures2d/src/sift.cpp:1210:错误:(-213:功能/功能未实现)
【发布时间】:2020-08-27 18:02:11
【问题描述】:

Trace

在使用作为依赖项的开源软件库时,我遇到了一些 opencv 错误。我已经尝试了这里列出的一些建议:AttributeError: module 'cv2.cv2' has no attribute 'xfeatures2d' [Opencv 3.4.3]

到目前为止做了什么:

  • sudo pip 卸载 opencv-python

  • sudo pip 卸载 opencv-python

  • pip install opencv-python==3.4.2.16 pip install opencv-contrib-python==3.4.2.16

  • pip3 install opencv-contrib-python==4.2.0.32

调用“pip3 install opencv-contrib-python==4.2.0.32”后的最新错误是“OpenCV(3.4.4) ../opencv_contrib/modules/xfeatures2d/src/sift.cpp:1205: error: ( -213:功能/特性未实现)此算法已获得专利,在此配置中排除;设置 OPENCV_ENABLE_NONFREE CMake 选项并在函数'create'中重建库"

【问题讨论】:

    标签: python opencv pip anaconda


    【解决方案1】:

    pip3 安装 opencv-contrib-python==4.2.0

    对于 Anaconda 用户来说只是这个而不是 pip

    conda install -c menpo opencv

    【讨论】:

    • 使用“pip3 install opencv-contrib-python==4.2.0.32”,这似乎工作但现在得到** OpenCV(3.4.4)../opencv_contrib/modules/xfeatures2d/src /sift.cpp:1205: error: (-213: The function/feature is not implemented) 此算法已获得专利,不包含在此配置中;设置 OPENCV_ENABLE_NONFREE CMake 选项并在函数 'create' 中重建库 **
    【解决方案2】:

    首先是坏消息:你won't be able to get SIFT or SURF from pre-built binaries > 3.4.2。这是因为这些算法已获得专利。

    好消息是该专利已于 2020 年 3 月 7 日到期。OpenCV 的开发者是aware of this issue,最终将构建新的二进制文件。

    在此之前,您有 3 个选择:

    1. 等一下
    2. 在等待的时候先安装旧版本
    3. 使用 OpenCV 开发的免费算法之一
    4. 在启用 SIFT 和 SURF 的情况下自行编译 OpenCV

    祝你好运

    更新

    开始

    • 3.4.11 及更高版本(在 3.X 系列中)
    • 4.4.0 及更高版本(在 4.X 系列中)

    现在包括 SIFT。这在Release Notes

    中有说明

    【讨论】:

      猜你喜欢
      • 2015-04-30
      • 2020-12-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多