注意:
我租赁的阿里云服务器并没有GPU!
安装 OpenCV
- 依赖
apt update
apt install cmake cmake-curses-gui g++ build-essential git wget unzip pkg-config
# 图像、视觉io库
apt install libv4l-dev libdc1394-22-dev libjpeg-dev libopenjp2-7-dev libpng-dev
# Linux系统的图形界面渲染、GUI交互
apt install libx11-dev
# Linux系统的图形界面渲染库,GUI 工具包,支持创建窗口、按钮、菜单、文本框等界面组件
apt install libgtk2.0-dev
# 数学运算库、运算加速库
## libeigen3-dev
apt install libeigen3-dev
## blas
apt install libblas-dev
## lapack
apt install gfortran liblapack-dev liblapacke-dev
## 注意:openblas、atlas、gsl可选择性安装
## openblas
apt install libopenblas-dev
## atlas
apt install libatlas-base-dev
## gsl
apt install libgsl-dev
# 二维码或条形码识别库
apt install libzbar-dev
# Linux下的POSIX线程开发库,提供pthread(POSIX线程)
apt install libpthread-stubs0-dev
# ffmpeg库
apt install ffmpeg libavcodec-dev libavformat-dev libavutil-dev libswscale-dev
# Gstreamer
apt install libgtk-3-dev libavcodec-dev libavformat-dev libswscale-dev
apt install gstreamer1.0-tools gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav
apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
# libgstreamer-plugins-bad1.0-dev 这个包会安装依赖包 libopencv-dev,如果想要用 make install 安装opencv,这个包应该在make install opencv 后再用apt安装
# C++中处理json
apt install nlohmann-json3-dev
- 源码
mkdir -p ~/opencv-ws
cd ~/opencv-ws
git clone https://github.com/opencv/opencv
git clone https://github.com/opencv/opencv_contrib
cd opencv && mkdir build && cd build
- 配置
cmake \
-DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
-DWITH_FFMPEG=ON \
-DWITH_GSTREAMER=ON \
-DWITH_LAPACK=ON \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_TESTS=OFF \
-DBUILD_PERF_TESTS=OFF \
-DBUILD_EXAMPLES=OFF \
-DBUILD_opencv_apps=OFF \
../
参考:OpenCV configuration options reference
- 编译、安装
make -j$(nproc-1)
sudo make install
默认安装位置:usr/local
如果编译报错
如果编译过程中报错,请卸载所有依赖再重新安装依赖,删除build文件夹,再重新编译(如果用apt安装的依赖也请用apt卸载,apt和apt-get不用混用,容易出现问题):
apt autoremove --purge libv4l-dev libdc1394-22-dev libjpeg-dev libpng-dev libx11-dev libgtk2.0-dev gfortran liblapack-dev libeigen3-dev libblas-dev libopenblas-dev libatlas-base-dev libgsl-dev libzbar-dev libpthread-stubs0-dev ffmpeg libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libgtk-3-dev libavcodec-dev libavformat-dev libswscale-dev gstreamer1.0-tools gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev nlohmann-json3-dev
安装 mavsdk
待续…