[Ubuntu 16.04][Anaconda3]OpenCV-4.1.0安装

参考:Installation in Linux

编译OpenCV以及OpenCV_ContribLinux版本

先决条件

所需的依赖库以及编译器

[compiler] sudo apt-get install build-essential
[required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
[optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

源码

分别下载OpenCVOpenCV_Contrib源码

$ mkdir opencv-4.1.0
$ cd opencv-4.1.0
$ git clone https://github.com/opencv/opencv.git
$ git clone https://github.com/opencv/opencv_contrib.git

切换到指定标签

$ cd opencv
$ git checkout -b 4.1.0 4.1.0
$ cd ../opencv_contrib
$ git checkout -b 4.1.0 4.1.0

编译

CMake编译命令如下:

$ mkdir build
$ mkdir install
$ ls
build  install  opencv  opencv_contrib

$ cd build
$ cmake -D CMAKE_BUILD_TYPE=DEBUG \
    -D CMAKE_INSTALL_PREFIX=../install \
    -D BUILD_DOCS=ON \
    -D BUILD_EXAMPLES=ON \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D PYTHON3_EXECUTABLE=/home/zj/software/anaconda/anaconda3/envs/py36/bin/python \
    -D PYTHON3_LIBRARY=/home/zj/software/anaconda/anaconda3/envs/py36/lib/libpython3.6m.so \
    -D PYTHON3_INCLUDE_DIR=/home/zj/software/anaconda/anaconda3/envs/py36/include/python3.6m \
    -D PYTHON3_NUMPY_INCLUDE_DIRS=/home/zj/software/anaconda/anaconda3/envs/py36/lib/python3.6/site-packages/numpy/core/include \
    -D Pylint_DIR=/home/zj/software/anaconda/anaconda3/envs/py36/bin/pylint \
    -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules \
    -D OPENCV_GENERATE_PKGCONFIG=ON \
    ../opencv

编译问题一

IPPICV: Download: ippicv_2019_lnx_intel64_general_20180723.tgz

下载额外包的过程中卡中,参考源码编译opencv卡在IPPICV: Download: ippicv_2017u3_lnx_intel64_general_20170822.tgz解决办法

先下载ippicvippicv_2019_lnx_intel64_general_20180723.tgz,放置在/home/zj/opencv/opencv-4.1.0目录下

修改文件opencv/3rdparty/ippicv/ippicv.cmake47

# 原先
"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/"
# 修改
"/home/zj/opencv/opencv-4.1.0/"

编译问题二

-- data: Download: face_landmark_model.dat

同样需要额外下载配置,参考ubuntu16.04 安装opencv IPPICV 和 face_landmark_model.dat下载不下来的问题解决

下载face_landmark_model.dat,放置在/home/zj/opencv/opencv-4.1.0目录下

修改文件opencv_contrib/modules/face/CMakeLists.txt19

# 原先
"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${__commit_hash}/"
# 修改
"/home/zj/opencv/opencv-4.1.0/"

安装

$ make -j7
$ make install