Ubuntu16系统下opencv3.4.9的下载和安装

1,下载安装Cmake-gui

sudo apt-get cmake
sudo apt-get cmake-qt-gui

采用cmake-gui避免命令行中的参数的输入,可以直接使用gui配置参数。

2,下载opencv-3.4.9

直接使用官网github下载速度太慢,可以将opencvopencv_contrib在码云中导入自己的仓库中。(这一步需要自己在码云中有账号)。在自己的仓库中可以快速下载openc和contrib。

3,开始编译opencv

此时下载的opencv和opencv_contrib文件最好放置在一个统一的文件夹中可命名为Thirdparty。具体的操作如下:

mkdir Thirdparty
cd Thirdparty

将opencv文件夹放进去,opencv_contrib放进opencv中之后:

cd opencv-3.4.9
mkdir build
cd build
cmake-gui ..

 在上图中可以看到源码目录和编译文件夹(build)都是已经自动填充的,之后点击configure按钮,选择Unix Makefiles,选择Use default native compilers(默认),然后点击Finish。此时就会出现如上图所示红色部分的参数,对于参数中:

  1. CMAKE_BUILD_TYPE 值处输入RELEASE。
  2. CMAKE_INSTALL_PREFIX显示了默认的安装目录,此处如果安装多版本的opencv时在此修改路径。
  3. OPENCV_EXTRA_MODULES_PATH处是添加扩展模块的,路径选中opencv_contrib下的modules文件夹。
  4. OPENCV_ENABLE_NONFREE 选中(SURF 专利问题)

点击Generate生成配置文件,这一步应该比较快就完成了。此时在控制台由于网络原因就回出现长时间连接无法获取文件的情况,这些都会标红,在后期会造成opencv编译失败。

此处的解决方法:

     1,利用4g网络进行处理

       连接wifi或者利用自己手机制作一个网络。利用手机网络基本上可以获取缺失的文件,之后控制台不出现报错信息就可以进行编译处理了。

      2,可以将缺失的文件直接放入对应的目录中,修改相应的文件路径,如下在编译中的操作。

编译步骤如下:

make -j4
sudo make install

     出现编译失败的情况:

/home/Thirdparty/opencv-3.4.9/opencv_contrib/modules/xfeatures2d/src/boostdesc.cpp:654:37: fatal error: boostdesc_bgm.i: No such file or directory
compilation terminated.
modules/xfeatures2d/CMakeFiles/opencv_xfeatures2d.dir/build.make:451: recipe for target 'modules/xfeatures2d/CMakeFiles/opencv_xfeatures2d.dir/src/boostdesc.cpp.o' failed
make[2]: *** [modules/xfeatures2d/CMakeFiles/opencv_xfeatures2d.dir/src/boostdesc.cpp.o] Error 1
CMakeFiles/Makefile2:6726: recipe for target 'modules/xfeatures2d/CMakeFiles/opencv_xfeatures2d.dir/all' failed
make[1]: *** [modules/xfeatures2d/CMakeFiles/opencv_xfeatures2d.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

 出现这种问题原因是网络原因无法将boostdesc_bgm.i等文件下载至对应的路径中,我的在上方错误信息可知路径是/home/Thirdparty/opencv-3.4.9/opencv_contrib/modules/xfeatures2d/src

完成文件拷贝后可以再进行make -j4的操作,此时出现失败情况:

/home/Thirdparty/opencv-3.4.9/modules/stitching/include/opencv2/stitching/detail/matchers.hpp:52:42: fatal error: opencv2/xfeatures2d/cuda.hpp: No such file or directory

这种情况的出现是因为在matchers.hpp:52:42的文件引用中的路径无法找到cuda.hpp.此时可以完成对于detail文件的cmakelists.txt的路径添加,在opencv-3.4.9/modules/stitching的cmakelists.txt添加自己的路径信息:
 

set(the_description "Images stitching")

#添加自己的路径如下
INCLUDE_DIRECTORIES("/home/Thirdparty/opencv-3.4.9/opencv_contrib/modules/xfeatures2d/include")

if(HAVE_CUDA)
  ocv_warnings_disable(CMAKE_CXX_FLAGS -Wundef -Wmissing-declarations -Wshadow -Wstrict-aliasing)
endif()

之后再出现类似的也可以如此解决。
 

      

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值