Ubuntu 中 opencv4.1及opencv4.1_contrib源码编译安装

  1. github opencv官网下载源码并解压,opencv与opencv_contrib放在一个文件夹下。
  2. 安装依赖包:
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
  1. 安装cmake_gui (非必需,设置cmake更容易些)
sudo apt-get install cmake-qt-gui
  1. 进入解压后的opencv-4.1.0文件夹打开终端,创建build文件夹:
mkdir build
cd build
cmake-gui ..
  1. 设置两个路径,source code和build binaries路径


    2.JPG
  2. 然后点击configure ,弹出的窗口默认选项然后finish等待。


    捕获.JPG
  3. 对生成的配置列表修改:
    (1)在CMAKE_BUILD_TYPE 值处输入RELEASE
    (2)在OPENCV_EXTRA_MODULES_PATH处,选择输入目录到解压后的opencv_contrib-4.1.0文件夹下的modules (注意选择到到modules文件)
    (3) 如果后期编译报错如下的话,设置
    BUILD_TIFF=ON
    ENABLE_PRECOMPILED_HEADERS=OFF

warning: libzstd.so.1.3.7, needed by //home/zhc/anaconda2/envs/boom/lib/libtiff.so.5, not found (try using -rpath or -rpath-link)

(4) 如果make时报错:

fatal error: boostdesc_bgm.i: No such file or directory

下载该链接的文件解压后放到opencv_contrib/modules/xfeatures2d/src/路径下重新make即可
https://files.cnblogs.com/files/arxive/boostdesc_bgm.i%2Cvgg_generated_48.i%E7%AD%89.rar
(5)如果报错:

fatal error: features2d/test/test_detectors_regression.impl.hpp: 没有那个文件或目录

将opencv-4.1.0/modules/features2d/test/文件下的

test_descriptors_invariance.impl.hpp
test_descriptors_regression.impl.hpp
test_detectors_invariance.impl.hpp
test_detectors_regression.impl.hpp
test_invariance_utils.hpp

拷贝到opencv_contrib-4.1.0/modules/xfeatures2d/test/文件下。
然后将opencv_contrib-4.1.0/modules/xfeatures2d/test/test_features2d.cpp文件下的

#include "features2d/test/test_detectors_regression.impl.hpp"
#include "features2d/test/test_descriptors_regression.impl.hpp"

改成

#include "test_detectors_regression.impl.hpp"
#include "test_descriptors_regression.impl.hpp"

将opencv_contrib-4.1.0/modules/xfeatures2d/test/test_rotation_and_scale_invariance.cpp文件下的

#include "features2d/test/test_detectors_invariance.impl.hpp" 
#include "features2d/test/test_descriptors_invariance.impl.hpp"

改成

#include "test_detectors_invariance.impl.hpp"
#include "test_descriptors_invariance.impl.hpp"

(6)所有python的路径:


3.JPG
4.JPG
6.JPG
  1. 如果没有显示BUILD_opencv_python3,需要手动添加。 完成后点击Generate等待
  2. 完成后开始编译
make -j6
  1. 安装完成,然后需要把build/lib/python中的.so文件复制到anaconda的anaconda2/envs/你的环境包文件夹/lib/python3.6/site-packages环境中即可。
    参考文章:
    https://www.cnblogs.com/arxive/p/11778731.html
    https://blog.csdn.net/qq_31112205/article/details/105210496
    感谢其提供的bug解决方法

你可能感兴趣的:(Ubuntu 中 opencv4.1及opencv4.1_contrib源码编译安装)