1.安装官方给的opencv依赖包
- GCC 4.4.x or later
 - CMake 2.6 or higher
 - Git
 - GTK+2.x or higher, including headers (libgtk2.0-dev) # 控制opencv GUI
 - pkg-config
 - Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev, - - python-numpy)
 - ffmpeg or libav development packages: libavcodec-dev, libavformat-dev, - libswscale-dev
 - [optional] libtbb2 libtbb-dev
 - [optional] libdc1394 2.x
 - [optional] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev
 
2.相应的安装代码如下
$ sudo apt-get install build-essential
$ sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
$ sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev # 处理图像所需的包
$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev
$ sudo apt-get install libxvidcore-dev libx264-dev # 处理视频所需的包
$ sudo apt-get install libatlas-base-dev gfortran # 优化opencv功能
$ sudo apt-get install ffmpeg
3.下载opencv源码 
 opencv 3.42.的下载地址:https://github.com/opencv/opencv/releases
点击sources源文件下载,本人下载的是3.4.2版本的 
4.解压源码
unzip opencv-3.4.2.zip
在解压好的文件夹中打开终端,创建文件夹并打开
mkdir release
cd release
配置编译opencv 
从下面四种选择里面选一种进行编译 
- 配置编译opencv (无NVIDIA CUDA版本)
cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/home/fanzong/anaconda2/envs/tensorflow \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D INSTALL_C_EXAMPLES=OFF \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.2.0/modules \
    -D PYTHON_EXCUTABLE=/home/fanzong/anaconda2/envs/tensorflow/bin/python \
    -D WITH_TBB=ON \
    -D WITH_V4L=ON \
    -D WITH_QT=ON \    # 1
    -D WITH_GTK=ON \
    -D WITH_OPENGL=ON \
    -D BUILD_EXAMPLES=ON .. # cmake命令的使用方式:cmake [<some optional parameters>] <path to the OpenCV source directory>。如果命令报错的话可以试着把-D后面的空格去掉在执行一次。
- 配置编译opencv (NVIDIA 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_EXTRA_MODULES_PATH=~/opencv_contrib-3.2.0/modules \
    -D PYTHON_EXCUTABLE=/usr/bin/python \
    -D WITH_CUDA=ON \    # 使用CUDA
    -D WITH_CUBLAS=ON \
    -D DCUDA_NVCC_FLAGS="-D_FORCE_INLINES" \
    -D CUDA_ARCH_BIN="5.3" \    # 这个需要去官网确认使用的GPU所对应的版本[查看这里](https://developer.nvidia.com/cuda-gpus)
    -D CUDA_ARCH_PTX="" \
    -D CUDA_FAST_MATH=ON \    # 计算速度更快但是相对不精确
    -D WITH_TBB=ON \
    -D WITH_V4L=ON \
    -D WITH_QT=ON \    # 如果qt未安装可以删去此行;若因为未正确安装qt导致的Qt5Gui报错,可将build内文件全部删除后重新cmake
- 简化配置编译
sudo cmake -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON ON ..
我用的是最后一种。
编译完成之后安装
sudo make -j8
sudo make install
5.完成安装并测试
安装完成以后,重启下电脑。打开python console,检测opencv的版本
import cv2
cv2.__version__
如果正确安装的话则会输出3.4.2。
参考文档: https://blog.csdn.net/liuxiaodong400/article/details/81089058
 
 
 
 
 
 