opencv错误:错误:OpenCV(4.2.0)/io/opencv_contrib/modules/xfeatures2d/src/sift.cpp:1210:错误:(-213:未实现功能/功能)

时间:2020-05-12 02:04:08

标签: python opencv pip anaconda

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:错误:( -213:未实现功能/功能)此算法已获专利,并且不在此配置中;设置OPENCV_ENABLE_NONFREE CMake选项并在函数“创建”中重建库“”

2 个答案:

答案 0 :(得分:0)

pip3安装opencv-contrib-python == 4.2.0

对于Anaconda用户,只需此即可,而不是pip

conda install -c menpo opencv

答案 1 :(得分:0)

首先,坏消息是:您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

祝你好运