0%

OpenCV Memo

有关 OpenCV 的安装,包括 Ubuntu 系统和 CentOS 系统。

安装

删除了 2.x 版本的安装方法,目前只保留 3.x 版本的安装方法
基本过程为:

  1. 针对不同的操作系统安装依赖
  2. 下载源码,切换到相匹配的
  3. cmake, 主要关注 cmake 的选项
  4. 编译
  5. 安装,注意,在 Ubuntu 系统上有更好的安装方法

安装依赖

Ubuntu
安装编译依赖

1
2
3
4
5
6
7
sudo apt install --assume-yes build-essential cmake git
sudo apt install --assume-yes build-essential pkg-config unzip ffmpeg qtbase5-dev python-dev python3-dev python-numpy python3-numpy
sudo apt install --assume-yes libopencv-dev libgtk-3-dev libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev
sudo apt install --assume-yes libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
sudo apt install --assume-yes libv4l-dev libtbb-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev
sudo apt install --assume-yes libvorbis-dev libxvidcore-dev v4l-utils
sudo apt install libeigen3-dev

CentOS
依赖

1
2
pip install numpy
yum install -y cmake python-devel gcc gcc-c++ gtk2-devel libv4l-devel ffmpeg-devel gstreamer-plugins-base-devel libpng-devel libjpeg-turbo-devel jasper-devel openexr-devel libtiff-devel libwebp-devel tbb-devel eigen3-devel

匹配源码

从 github 上获取 OpenCV 源码,并且同时获取 opencv_contrib 的源码
Itseez/opencv clone opencv 的源码
Itseez/opencv_contrib clone opencv contrib 的源码,这里面包含了 SIFT 等算法的代码
分别进入上述两个源码的目录,然后分别 checkout 到相同的版本,例如:v3.1.0

编译

1
cmake -DBUILD_opencv_dnn=OFF -DWITH_IPP=ON -DWITH_EIGEN=OFF -DCPU_BASELINE=NATIVE -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_QT=OFF -D WITH_OPENGL=ON -D WITH_CUBLAS=OFF -D WITH_CUDA=OFF -D WITH_LAPACK=OFF -DWITH_FFMPEG=ON -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules ..

安装 OpenCV

Ubuntu

经典的方法

1
2
3
4
sudo make install
sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
sudo apt-get update

推荐方法 (使用 checkinstall)

1
2
sudo apt install checkinstall
sudo checkinstall

CentOS

1
2
sudo make install
sudo mv /usr/local/lib/python2.7/site-packages/cv2.so /usr/lib/python2.7/site-packages