如何使用非自由模块安装OpenCV 3.0?
我尝试过几次,但大多数指南只告诉您在构建OpenCV后如何安装它。我已经有过两次不成功的尝试,用这种方法做了很多工作,所以如何使用非自由模块安装OpenCV 3.0?,opencv,Opencv,我尝试过几次,但大多数指南只告诉您在构建OpenCV后如何安装它。我已经有过两次不成功的尝试,用这种方法做了很多工作,所以 我很感激(其他人在稍后阅读时可能也很感激)关于如何安装它的基本说明(假设依赖项已经存在) 最好使用git还是自己构建 运行cmake时必须遵循哪些指令 既然到目前为止版本3是不可靠的,那么只构建一个旧版本(比如2.4.9)更好吗 下面引用了Berak对这个问题的回答。基本上,您可以从Git中下拉它,添加它,然后就可以开始了 贝拉克的回答: 在3.0中,SIFT和SURF被移
下面引用了Berak对这个问题的回答。基本上,您可以从Git中下拉它,添加它,然后就可以开始了 贝拉克的回答: 在3.0中,SIFT和SURF被移动到opencv_contrib repo 您需要克隆/分叉/下载该文件,并将其添加到您的(主文件)中 opencv)cmake
cmake-DOPENCV\u EXTRA\u MODULES\u PATH=/MODULES
然后,建好以后,
#include "opencv2/xfeatures2d/nonfree.hpp"
Ptr<xfeatures2d::SURF> surf = xfeatures2d::SURF::create(); // note
extra namespace surf->detect(...); surf->compute(...);
#包括“opencv2/xfeature2d/nonfree.hpp”
Ptr surf=xfeatures2d::surf::create();//笔记
额外名称空间浏览->检测(…);冲浪->计算(…);
不要忘记链接到opencv_xFeature2D(.lib)
另外,在回答问题4时。OpenCV 3.0很好,我不会说它不可靠。最终找到了解决方案: 首先配置了“opencv-3.4”和必需的内容。我发现很容易使用cmake gui来配置opencv-3.4。在配置期间,通过选中复选框和其他必需的内容启用“OPENCV_ENABLE_NONFREE” 编译进行得很顺利,安装也完成了。 但是我不能使用“非自由”api,比如“xFeature2D”,它是我的应用程序的一部分 经过6-7小时的努力,最终发现在配置opencv时需要包含“opencv contrib”模块 已下载opencv-contrib-3.4.8,并在opencv_额外_模块_路径中的opencv配置期间提供至“./opencv-contrib-3.4.8/模块” 然后使用cmake gui进行配置,现在我可以从“opencv_contrib”看到下面的配置,opencv已经选择了额外的模块。配置完成后,进行了make和make安装
xfeatures2d/boostdesc: Download: boostdesc_bgm.i
xfeatures2d/boostdesc: Download: boostdesc_bgm_bi.i
xfeatures2d/boostdesc: Download: boostdesc_bgm_hd.i
xfeatures2d/boostdesc: Download: boostdesc_binboost_064.i
xfeatures2d/boostdesc: Download: boostdesc_binboost_128.i
xfeatures2d/boostdesc: Download: boostdesc_binboost_256.i
xfeatures2d/boostdesc: Download: boostdesc_lbgm.i
xfeatures2d/vgg: Download: vgg_generated_48.i
xfeatures2d/vgg: Download: vgg_generated_64.i
xfeatures2d/vgg: Download: vgg_generated_80.i
xfeatures2d/vgg: Download: vgg_generated_120.i
data: Download: face_landmark_model.dat
..
如何测试opencv中是否包含“非自由”模块:
登录到您的虚拟环境并键入“python”,然后输入“importcv2”(应该返回而没有错误)。最后执行了“surf=cv2.xfeatures2d.surf_create()”,该命令也返回,没有错误。这包括在opencv中添加“非自由”模块
>$ python
Python 3.5.2 (default, Nov 12 2018, 13:43:14)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> import cv2
>>>
>>> surf=cv2.xfeatures2d.SURF_create()
>>> exit()
谢谢,
Muthukumar在这里为感兴趣的人找到了一个很好的指南:OpenCV 3.1已经发布,许多错误已经纠正,并且有了新的功能。
>$ python
Python 3.5.2 (default, Nov 12 2018, 13:43:14)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> import cv2
>>>
>>> surf=cv2.xfeatures2d.SURF_create()
>>> exit()