Skip to main content

OpenCV开发环境配置

OpenCV

Ubuntu18.04从源码编译OpenCV - 开启GPU支持

配置列表

名称版本
系统版本Ubuntu18.04LTS
GCC/G++7.5.0
OpenCV4.4.0
CUDA10.2

安装前先安装显卡驱动以及CUDA、CUDNN

可以参考这里👉

安装各种依赖

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22
  • libjasper-dev
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper-dev
  • 一些其他的依赖
sudo apt-get install \
libglew-dev \
zlib1g-dev \
libavutil-dev \
libpostproc-dev \
libeigen3-dev

获取 OpenCV 源码

通过 git 下载

cd ~/<my_work_directory>
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
git clone https://github.com/opencv/opencv_extra.git
  • 注意这里需要分别将三个仓库中的分支都切换至 4.4.0

从官网下载压缩包 [推荐]

下载完成后解压

tar zxvf opencv-4.4.0.tar.gz ~/workspace/
tar zxvf opencv_contrib-4.4.0.tar.gz ~/workspace/
tar zxvf opencv_extra-4.4.0.tar.gz ~/workspace/

编译

新建 build/ 目录存放编译生成的文件

cd ~/workspace/opencv-4.4.0/
mkdir build
cd build

配置 cmake 参数,修改 opencv_extraopencv_contrib 的路径

cmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DBUILD_PNG=OFF \
-DBUILD_TIFF=OFF \
-DBUILD_TBB=OFF \
-DBUILD_JPEG=OFF \
-DBUILD_JASPER=OFF \
-DBUILD_ZLIB=OFF \
-DBUILD_EXAMPLES=ON \
-DBUILD_opencv_python2=OFF \
-DBUILD_opencv_python3=ON \
-DBUILD_opencv_cudacodec=OFF \
-DWITH_OPENCL=OFF \
-DWITH_OPENMP=OFF \
-DWITH_FFMPEG=ON \
-DWITH_GSTREAMER=OFF \
-DWITH_GSTREAMER_0_10=OFF \
-DWITH_CUDA=ON \
-DOPENCV_DNN_CUDA=ON \
-DENABLE_FAST_MATH=1 \
-DCUDA_FAST_MATH=1 \
-DWITH_CUBLAS=1 \
-DWITH_TBB=ON \
-DWITH_GTK=ON \
-DWITH_VTK=OFF \
-DWITH_1394=OFF \
-DWITH_OPENEXR=OFF \
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.2 \
-DCUDA_ARCH_PTX="" \
-DINSTALL_C_EXAMPLES=OFF \
-DINSTALL_TESTS=ON \
-DOPENCV_TEST_DATA_PATH=../../opencv_extra-4.4.0/testdata \
-DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.4.0/modules \
-DOPENCV_GENERATE_PKGCONFIG=YES \
..

等待 makefile 生成 —— 过程保持网络通畅,会下载一些内容

生成完之后开始编译

NUM_CPU=$(nproc)
make -j$(($NUM_CPU - 1))
info

这里编译时间更久,你可以叫几个朋友一起喝茶 (= =!)

等待编译完成后

sudo make install
  • 将编译好的 .so 文件以及头文件安装到 /usr/local 目录下

配置环境变量

sudo gedit /etc/ld.so.conf.d/opencv.conf

  • 打开 opencv.conf 在其中添加 /usr/local/lib

sudo gedit /etc/bash.bashrc

  • 打开 bash.bashrc 在最后面添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig 
export PKG_CONFIG_PATH

sudo ldconfig

  • 使配置生效

参考

官网tutorial Building OpenCV for Tegra with CUDA