Ubuntu 17.04下OpenCV源码编译安装
本文主要针对Ubuntu 17.04版本下,OpenCV进行源码编译安装。开发环境主要针对Python 对 OpenCV库的调用。
- 安装 gcc cmake 编译环境
sudo apt-get install build-essential pkg-config cmake cmake-gui
本文提供两种源码编译方式,一种是cmake命令,另一种是通过图形界面的cmake-gui进行编译
- 该版本系统ubuntu已经自带python 2.7 和 python 3.5 ,需安装 pip 对python包进行管理
sudo apt-get install python-pip sudo apt-get install python3-pip
- 配置pip 清华源加速包下载更新速度(寻找飞一样的感觉)
mkdir ~/.pip vim ~/.pip/pip.conf # 在pip.conf 中添加以下内容 [global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple [install] trusted-host=mirrors.aliyun.com
- 安装python 以及 python3 下的数据分析包
pip install numpy scipy matplotlib scikit-image scikit-learn pip3 install numpy scipy matplotlib scikit-image scikit-learn 在这一步时出现了问题,参考
- 安装其他依赖
# git : 版本控制 # gfortran fortran编译器 # yasm 汇编编译器 # ffmpeg 系统自带 sudo apt-get install checkinstall yasm gfortran git ffmpeg sudo apt-get install libxvidcore4 libgtk-3-dev sudo apt-get install libjpeg8-dev libjasper-dev sudo apt-get install libtiff5-dev sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev sudo apt-get install libxine2-dev libv4l-dev sudo apt-get install libqt4-dev libgtk2.0-dev libtbb-dev sudo apt-get install libatlas-base-dev sudo apt-get install libfaac-dev libmp3lame-dev libtheora-dev sudo apt-get install libvorbis-dev libxvidcore-dev sudo apt-get install libopencore-amrnb-dev libopencore-amrwb-dev sudo apt-get install x264 v4l-utils
- 可选依赖
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
- 下载并且安装OpenCV3
- 安装git
sudo apt-get install git
- 下载OpenCV3
git clone https://github.com/opencv/opencv.git
- 下载OpenCV_Contrib
git clone https://github.com/opencv/opencv_contrib.git
OpenCV 从 3.0 开始,就将一部分内容(比如 SIFT 等)分离到 opencv_contrib 中。因此,要完整安装 OpenCV,还需要安装 opencv_contrib。
- 命令编译
cd opencv mkdir build cd build cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_C_EXAMPLES=ON \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D WITH_TBB=ON \ -D WITH_V4L=ON \ -D WITH_QT=ON \ -D WITH_OPENGL=ON \ -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \ -D BUILD_EXAMPLES=ON .. # 查看cpu 核心数 nproc # 如果你有8个核心 # 切换至 build 目录中,执行下面命令,编译源码并链接生成相应的动态库以及可执行文件 make -j8 # 执行完成后,再执行以下命令,将生成的可执行文件以及动态库安装到指定的安装目录中。 sudo make install sudo sh -c 'echo "/usr/local/lib" >> /etc/ld.so.conf.d/opencv.conf' sudo ldconfig
- 用图形化工具配置生成 makefile
切换至 opencv 目录,然后新建一个目录,用于存放 cmake 生成的配置文件。
mkdir build
cd build
在你的图形界面的软件中找到 cmake-gui 打开
然后在 Where is the source code 中添加 opencv 的目录路径,在 where to build the binaries 中添加刚才新建的 build 目录
然后点击下面的Configure,选择 Unix Makefiles,然后选择 default ...。点击 OK,从而处理 opencv目录下的 CMakeLists.txt 。并且在 Build 目录下生成 CMakeCache.txt 及 Makefile 等相关文件。
Configure配置结束后,将会出现类似以下配置界面
以下是需要修改的部分
CMAKE_BUILD_TYPE 修改为 RELEASE OPENCV_EXTRA_MODULES_PATH 设为 opencv_contrib 中的 modules 目录的路径(比如,/home/arvin/opencv_contrib/modules) 在 BUILD_EXAMPLES 的复选框里 打勾 在 INSTALL_C_EXAMPLES 的复选框里 打勾 在 INSTALL_PYTHON_EXAMPLES 的复选框里 打勾 在 WITH_FFMPEG 的复选框里 打勾 在 WITH_GTK 的复选框里 打勾 在 WITH_V4L 的复选框里 打勾 在 WITH_TIFF 的复选框里 打勾 在 WITH_PNG 的复选框里 打勾 在 WITH_JPEG 的复选框里 打勾 在 WITH_JASPER 的复选框里 打勾 取消 WITH_CUDA 的复选框里的勾 取消 WITH_CUFFT 的复选框里的勾
然后点击Configure,应用刚才的修改并且将修改内容更新至 build 目录下的 CMakeCache.txt 中。然后点击 Generate,更新 Makefile。
安装OpenCV3 及 OpenCV3 的额外包
OpenCV的详细介绍:请点这里
OpenCV的下载地址:请点这里