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
完成安装。