重点参考文章:https://jinfagang.github.io/2016/12/03/Ubuntu下编译opencv并生成python链接库详细教程-吐血编译系列/
https://blog.csdn.net/chenzhenchou/article/details/80189628
安装过程
Step1 各种apt先get一下,安装需要的依赖
sudo apt update
sudo apt install build-essential cmake pkg-config
其中cmake是一定要安装的,apt是最简单的安装方式,pkg-config一般系统会自带,我们不管狂安装就是
Step2 安装opencv需要的图片编码库、视频编码库等库
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libatlas-base-dev gfortran
前面两句是安装以来的编码库,包括图片和视频,最后一行是安装优化算法库atlas。
Step3 极其重要的一步,安装python开发库,如果缺少这个步骤无法生成python的调用链接
sudo apt-get install python2.7-dev python3.5-dev
这里python2.7和3.5一起安装了,防止后面有人要安装2.7的版本。
Step4 下载opencv源码文件
cd ~
git clone https://github.com/opencv/opencv.git
从这里下载最新的opencv版本,然后我们就会在home目录下看到opencv源代码文件了。
Step5 开始编译和安装
cd opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_PYTHON_EXAMPLES=ON -D PYTHON_EXECUTABLE=/home/drl/anaconda3/bin/python -D WITH_CUDA=OFF -D BUILD_EXAMPLES=ON ..
在这里我要解释一下,cmake后面的参数非常重要,决定了编译是否可以成功,其中比较重要的两个参数:PYTHON_EXECUTABLE WITH_CUDA,前者是告诉编译程序你的pyton解释器的路径,这个路径默认就是你在terminal输入which python弹出的路径,不管是python2.7还是3.5都是这个路径,后面这个是说你编译的时候要不要用CUDA加速,反正我是没有编译成功,所以直接放弃了,如果你有CUDA配置好了,可以参考下面这条命令:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_PYTHON_EXAMPLES=ON -D PYTHON_EXECUTABLE=/usr/bin/python -D CUDA_GENERATION=Auto -D BUILD_EXAMPLES=ON ..
参数CMAKE_BUILD_TYPE CMAKE_INSTALL_PREFIX是说你的cmake的安装路径,cmake默认是安装在/usr/local下的。ok,然后enter
先cmake一下。在这个过程中你可能会遇到一些问题,一般可以百度到解决方案,比如可能会遇到一个问题就是提示没有ippicv文件,说是文件校验码不对,这个时候莫慌,直接从网上搜索ippicv这个文件放到opencv/3rdparty/ippicv下即可,同时build文件夹下也复制一个(build文件夹和opencv下的目录结果一样的),然后在cmake就没有问题了。
OK,接着我们make
make -j8