Ubuntu 编译 OpenCV

61 篇文章 1 订阅
4 篇文章 0 订阅

Ubuntu 编译 OpenCV

安装依赖

all-in-one

sudo apt-get install build-essential cmake git unzip pkg-config libjpeg-dev libpng-dev libtiff-dev libavcodec-dev libavformat-dev libswscale-dev libgtk2.0-dev libcanberra-gtk-dev python3-dev python3-numpy python3-pip libxvidcore-dev libx264-dev libgtk-3-dev libtbb2 libtbb-dev libdc1394-22-dev libv4l-dev v4l-utils libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libavresample-dev libvorbis-dev libxine2-dev libfaac-dev libmp3lame-dev libtheora-dev libopencore-amrnb-dev libopencore-amrwb-dev libopenblas-dev libatlas-base-dev libblas-dev liblapack-dev libeigen3-dev gfortran libhdf5-dev protobuf-compiler libprotobuf-dev libgoogle-glog-dev libgflags-dev

上面的拆分

sudo apt-get install build-essential cmake git unzip pkg-config
sudo apt-get install libjpeg-dev libpng-dev libtiff-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install libgtk2.0-dev libcanberra-gtk-dev
sudo apt-get install python3-dev python3-numpy python3-pip
sudo apt-get install libxvidcore-dev libx264-dev libgtk-3-dev
sudo apt-get install libtbb2 libtbb-dev libdc1394-22-dev
sudo apt-get install libv4l-dev v4l-utils
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt-get install libavresample-dev libvorbis-dev libxine2-dev
sudo apt-get install libfaac-dev libmp3lame-dev libtheora-dev
sudo apt-get install libopencore-amrnb-dev libopencore-amrwb-dev
sudo apt-get install libopenblas-dev libatlas-base-dev libblas-dev
sudo apt-get install liblapack-dev libeigen3-dev gfortran
sudo apt-get install libhdf5-dev protobuf-compiler
sudo apt-get install libprotobuf-dev libgoogle-glog-dev libgflags-dev
cd /usr/include/linux
sudo ln -s -f ../libv4l1-videodev.h videodev.h
cd ~

安装

若不能翻墙则必做

cd opencv-<...>
gedit 3rdparty/ippicv/ippicv.cmake

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

替换为

<path-to-folder-of-ippicv_2017u3_lnx_intel64_general_20170822.tgz>

运行

vi modules/python/src2/cv2.cpp

查找并替换

char* str = PyString_AsString(obj);
->char* str = (char *)PyString_AsString(obj);

可选

下方文件若不存在则可以跳过

gedit modules/gapi/cmake/DownloadADE.cmake

https://github.com/opencv/ade/archive/

替换为

<path-to-folder-of-v0.1.1f.zip>

下载

https://files.cnblogs.com/files/arxive/boostdesc_bgm.i%2Cvgg_generated_48.i%E7%AD%89.rar

解压并将所有文件放到

<path-to-opencv_contrib-folder>/modules/xfeatures2d/src/

安装命令

首先创建安装目录 installed,如有需要请自行更换

mkdir -p build/installed
cd build

simple

cmake \
-DCMAKE_BUILD_TYPE=RELEASE \
-DCMAKE_INSTALL_PREFIX=./installed \
-D ENABLE_PRECOMPILED_HEADERS=OFF \
-D BUILD_opencv_cudacodec=OFF \
..

with CUDA

cmake \
-DCMAKE_BUILD_TYPE=RELEASE \
-DCMAKE_INSTALL_PREFIX=./installed \
-D OPENCV_EXTRA_MODULES_PATH=<path-to-opencv_contrib-folder>/modules \
-D BUILD_TIFF=ON \
-D WITH_FFMPEG=ON \
-D WITH_GSTREAMER=ON \
-D WITH_EIGEN=ON \
-D WITH_V4L=ON \
-D WITH_LIBV4L=ON \
-D WITH_VTK=OFF \
-D WITH_QT=OFF \
-D WITH_OPENGL=ON \
-D OPENCV_ENABLE_NONFREE=ON \
-D INSTALL_C_EXAMPLES=OFF \
-D INSTALL_PYTHON_EXAMPLES=OFF \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D BUILD_TESTS=OFF \
-D OPENCV_DNN_CUDA=ON \
-D ENABLE_FAST_MATH=ON \
-D CUDA_FAST_MATH=ON \
-D CUDA_ARCH_BIN=7.0 \
-D WITH_CUBLAS=ON \
-D WITH_CUDNN=ON \
-D CUDNN_LIBRARY=/usr/local/cuda/lib64/libcudnn.so \
-D CUDNN_INCLUDE_DIR=/usr/local/cuda/include  \ 
-D BUILD_EXAMPLES=OFF \
-D ENABLE_PRECOMPILED_HEADERS=OFF \
-D BUILD_opencv_cudacodec=OFF \
..

without CUDA

cmake \
-D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=./installed \
-D BUILD_TIFF=ON \
-D WITH_FFMPEG=ON \
-D WITH_GSTREAMER=ON \
-D WITH_EIGEN=OFF \
-D WITH_V4L=ON \
-D WITH_LIBV4L=ON \
-D WITH_VTK=OFF \
-D WITH_QT=OFF \
-D WITH_OPENGL=ON \
-D OPENCV_ENABLE_NONFREE=ON \
-D INSTALL_C_EXAMPLES=OFF \
-D INSTALL_PYTHON_EXAMPLES=OFF \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D BUILD_TESTS=OFF \
-D BUILD_EXAMPLES=OFF \
-D ENABLE_PRECOMPILED_HEADERS=OFF \
-D BUILD_opencv_cudacodec=OFF \
-D WITH_CUDA=OFF \
..
make -j
make install

多版本切换

vi ~/.bashrc
# OpenCV
# export OPENCV_VERSION=<your-opencv-installed-version>
# export OpenCV_ROOT="/home/chli/OpenCV/opencv-$OPENCV_VERSION"
# export PKG_CONFIG_PATH="$OpenCV_ROOT/build/installed/lib/pkgconfig:$PKG_CONFIG_PATH"
# export LD_LIBRARY_PATH="$OpenCV_ROOT/build/installed/lib:$LD_LIBRARY_PATH"
# export C_INCLUDE_PATH="$OpenCV_ROOT/build/installed/include":$C_INCLUDE_PATH
# export CPLUS_INCLUDE_PATH="$OpenCV_ROOT/build/installed/include":$CPLUS_INCLUDE_PATH

当前 OpenCV 版本

version <= 3.*

pkg-config --modversion opencv

version = 4.*

pkg-config --modversion opencv4

当前 OpenCV include 路径

version <= 3.*

pkg-config --cflags opencv

version = 4.*

pkg-config --cflags opencv4

当前 OpenCV lib

version <= 3.*

pkg-config --libs opencv

version = 4.*

pkg-config --libs opencv4

尽情享用吧~

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值