Ubuntu18.04安裝opencv4.2.0(cmake版)碰到的問題和解決方案

由于前些日子更改了ubuntu的python底层,也没有备份,被逼无奈只能重装ubuntu系统以及我需要用到的各个软件。其中最重要的就是opencv,当然最头疼的也是它。
第一步:添加opencv所需要的依赖库

sudo apt-get install build-essential cmake unzip pkg-config
sudo apt-get install libjpeg-dev libpng-dev libtiff-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk-3-dev
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install python3-dev

首先解压下载好后的安装包,opencv-4.2.0以及opencv-contrib-…都要解压,后者解压的内容去掉版本号后放到解压好的opencv-4.2.0文件夹后。然后打开终端,熟练的mkdir build
cd build
注意,这里不要直接cmake … 啦!
我这里先用的是
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_SHARED_LIBS=OFF -D WITH_OPENMP=ON -D ENABLE_PRECOMPILED_HEADERS=OFF …

cmake结束后,进行make -j4(数字代表核心数,对你电脑配置放心就j8,不放心就不用加j)

在cmake的过程中 /home/user/opencv-3.4.2/opencv_contrib-3.4.2/modules/xfeatures2d/src 中的如下文件可能下载失败:
\boostdesc

boostdesc_bgm.i
boostdesc_bgm_bi.i
boostdesc_bgm_hd.i
boostdesc_binboost_064.i
boostdesc_binboost_128.i
boostdesc_binboost_256.i
boostdesc_lbgm.i

\vgg

vgg_generated_120.i
vgg_generated_48.i
vgg_generated_64.i
vgg_generated_80.i
这些文件就不贴了,别的文档里也有放链接。需要可以留联系方式。把这些文件都放到
/home/user/opencv-3.4.2/opencv_contrib-3.4.2/modules/xfeatures2d/src

再次整装待发后,make -j8(在这中间我把cmake -DWITH_OPENMP=OFF \改为啦on,不知道对后面有没有影响)
又出现啦新的问题

feature2d/test/test_detectors_regression.impl.hpp 这个文件找不到
解决方法是在cmakelist里加一句
include_directories(“modules”)

agian
好不容易到啦100%,最后还是错的。。
make[2]: *** [bin/example_gpu_surf_keypoint_matcher] Error 1
CMakeFiles/Makefile2:22756: recipe for target ‘samples/gpu/CMakeFiles/example_gpu_surf_keypoint_matcher.dir/all’ failed
make[1]: *** [samples/gpu/CMakeFiles/example_gpu_surf_keypoint_matcher.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs…
解决方法:把cmake -DBUILD_EXAMPLES=ON \选项关了,这下终于通过make啦。

sduo make install

sudo ldconfig

GG

你可能感兴趣的:(opencv)