Ubuntu16.04编译安装opencv4+contrib

1,下载对应版本的源码

当前最新为4.0.1,下载opencv-4.0.1和opencv_contrib-4.0.1,版本要对应。
解压后把contrib移到opencv根目录下。
在根目录下创建build文件夹。

2,安装依赖库

sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev  

3,cmake配置

设定prefix,自定义安装目录,便于卸载更改版本。

cmake \
    -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/home/lai/opencv-4.0.1 \
    -D WITH_LIBV4L=ON \
    -D WITH_V4L=ON \
    -D WITH_QT=ON \
    -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.0.1/modules \
    -D PYTHON_EXECUTABLE=/home/lai/python3.6/bin/python3.6 \
    -D PYTHON_INCLUDE_DIR=/home/lai/python3.6/include/python3.6m \
    -D PYTHON_LIBRARY=/home/lai/python3.6/lib/libpython3.6m.a \
    -D PYTHON_NUMPY_INCLUDE_DIRS=/home/lai/.local/lib/python3.6/site-packages/numpy/core/include \
    -D BUILD_EXAMPLES=OFF \
    -D BUILD_DOCS=OFF \
    -D BUILD_TESTS=OFF \
    -D BUILD_PERF_TESTS=OFF \
    ..

4,make编译

make -j10
make install

5,工程环境配置

CMakeLists.txt文件中,进行配置:

CMAKE_MINIMUM_REQUIRED(VERSION 3.5)
set(CMAKE_CXX_FLAGS -std=c++11)  # 设置C++11
set(OpenCV_DIR /home/lai/opencv-4.0.1/lib/cmake/opencv4)  # 设置OpenCVConfig.cmake文件的路径
PROJECT(test1) 
FIND_PACKAGE( OpenCV REQUIRED )
ADD_EXECUTABLE(test1  opencv_demo.cpp)
TARGET_LINK_LIBRARIES(test1 ${OpenCV_LIBS})

6,备注

6.1,多个OpenCV的版本切换
同时还安装了opencv-3.4.5,只需要将CMakeLists.txt中的

set(OpenCV_DIR /home/lai/opencv-4.0.1/lib/cmake/opencv4)

修改为:

set(OpenCV_DIR /home/lai/opencv-3.4.5/share/OpenCV)

6.2,OpenCV4的C++11新特性
由于OpenCV4要求C++11标准,因此需要添加这一行。

set(CMAKE_CXX_FLAGS -std=c++11)

你可能感兴趣的:(图像处理基础)