Ubuntu18.04下编译Opencv4.X

276 阅读1分钟

1. 安装依赖

如不是root用户,请加上sudo:

apt-get update
apt-get install build-essential
apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

2. 下载Opencv和OpenCV_contrib

下载所需版本的Opencv源码OpenCV_contrib源码

3. Cmake

cd opencv-4.3.0
mkdir build
cd build

然后执行以下命令,替换<opencv_contrib>为实际下载的opencv_contrib目录

cmake -D CMAKE_BUILD_TYPE=RELEASE \
      -D CMAKE_INSTALL_PREFIX=/usr/local \
      -D INSTALL_PYTHON_EXAMPLES=ON \
      -D INSTALL_C_EXAMPLES=ON \
      -D OPENCV_EXTRA_MODULES_PATH=<opencv_contrib>/modules/ \
      -D BUILD_EXAMPLES=ON ..

在cmake过程中会遇到boostdesc_bgm.i、vgg_generated_48.i、face_landmark.dat等文件无法下载。解决方法如下:
定位到无法下载的文件.cmake所在位置
比如下载boostdesc_bgm.i的地址位于opencv_contrib/modules/xfeatures2d/cmake/download_boostdesc.cmake,打开该文件后,找到下载地址如

https://raw.githubusercontent.com/opencv/opencv_3rdparty/${OPENCV_3RDPARTY_COMMIT}/

关键点:在该地址前加上

https://ghproxy.com/

修改后的地址如:

https://ghproxy.com/https://raw.githubusercontent.com/opencv/opencv_3rdparty/${OPENCV_3RDPARTY_COMMIT}/

同样的方法找到所有无法下载的文件的.cmake文件,在下载地址前加上https://ghproxy.com/,重新执行

cmake -D CMAKE_BUILD_TYPE=RELEASE \
      -D CMAKE_INSTALL_PREFIX=/usr/local \
      -D INSTALL_PYTHON_EXAMPLES=ON \
      -D INSTALL_C_EXAMPLES=ON \
      -D OPENCV_EXTRA_MODULES_PATH=<opencv_contrib>/modules/ \
      -D BUILD_EXAMPLES=ON ..

4. make

为了提高make速度,需要找到自己机器cpu核数,通过命令

nproc

,比如返回时8,则执行

make -j8

最后

make install

完成安装。