# 安装依赖
# 1) 安装必备包/cmake/git/g++
sudo apt-get install build-essential
sudo apt-get install cmake git g++
# 2)开发库
sudo apt-get install libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev
sudo apt-get install checkinstall yasm libxine2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libfaac-dev libmp3lame-dev libtheora-dev
sudo apt-get install libopencore-amrnb-dev libopencore-amrwb-dev libavresample-dev x264 v4l-utils
sudo apt-get install libopencv-dev libqt4-dev qt4-qmake libqglviewer-dev libsuitesparse-dev libcxsparse3.1.4 libcholmod3.0.6
sudo apt-get install python-dev python-numpy
# Ubuntu 18.04下请采用1.0版本 libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev,其他参考网站的版本为0.1.0版本已过时;
# 3)图像处理依赖包(可选)
sudo apt-get install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev`
# 4) 处理视频依赖包(可选)
sudo apt-get install libxvidcore-dev libx264-dev ffmpeg
# 5) OpenCV功能优化包(可选)
sudo apt-get install libatlas-base-dev gfortran
# 6) 可选依赖包(可选)
sudo apt-get install libprotobuf-dev protobuf-compiler
sudo apt-get install libgoogle-glog-dev libgflags-dev
sudo apt-get install libgphoto2-dev libeigen3-dev libhdf5-dev doxygen
# 开始安装
mkdir -p ~/opencv3
cd ~/opencv3
git clone -b 3.4 https://github.com/opencv/opencv.git
git clone -b 3.4 https://github.com/opencv/opencv_contrib.git
cd opencv
mkdir build
cd build
# 不带cuda编译
cmake -D CMAKE_BUILD_TYPE=Release -D BUILD_SHARED_LIBS=ON -D OPENCV_ENABLE_NONFREE:BOOL=ON -D OPENCV_EXTRA_MODULES_PATH=
~/opencv3/opencv_contrib/modules ../
# 带cuda编译
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_PYTHON_EXAMPLES=ON -D INSTALL_C_EXAMPLES=OFF -D OPENCV_ENABLE_NONFREE=ON -D WITH_CUDA=ON -D WITH_CUDNN=ON -D OPENCV_DNN_CUDA=ON -D ENABLE_FAST_MATH=1 -D CUDA_FAST_MATH=1 -D CUDA_CUDA_LIBRARY=/usr/lib/x86_64-linux-gnu/libcuda.so -D CUDA_ARCH_BIN=8.6 -D WITH_CUBLAS=1 -D OPENCV_EXTRA_MODULES_PATH=~/opencv3/opencv_contrib/modules -D HAVE_opencv_python3=ON -D BUILD_EXAMPLES=ON ../
# cuda最低版本支持参考 https://blog.csdn.net/chentianting/article/details/86610601
make -j4
# OpenCV库添加到环境变量
sudo echo "export OpenCV_DIR=/home/your_name/opencv3/opencv/build" >> ~/.bashrc
source ~/.bashrc
# 下面这步不确定是否需要
sudo echo "/home/your_name/opencv3/opencv/build/lib" >> /etc/ld.so.conf.d/opencv.conf
sudo ldconfig
# CMakeList.txt
find_package(OpenCV)
include_directories(${OpenCV_INCLUDE_DIRS})
set(OpenCV_DIR "/home/your_name/opencv3/opencv/build") # 不建议
# CMakeLists的OpenCV_DIR配置和.bashrc作用一样。如果有多个版本,可以直接在CMakeLists设置。不过可能还需要配置opencv.conf文件,因为不一定能找到对应的so文件
ubuntu18.04从源码编译安装OpenCV3.4
于 2022-06-21 22:25:09 首次发布