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.-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--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./modules \
-D PYTHON_EXCUTABLE=/home/fanzong/anaconda2/envs/tensorflow/bin/python \
-D WITH_TBB=ON \
-D WITH_V4L=ON \
-D WITH_QT=ON \ #
-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./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://github.com/opencv/opencv/releases

Ubuntu16.04下安装opencv3.4.2的更多相关文章

  1. ubuntu16.04下安装opencv3.4.1及其扩展模块

    1.源文件下载 opencv-3.4.1.tar.gz(https://github.com/opencv/opencv/releases) opencv_contrib-3.4.1.tar.gz(h ...

  2. ubuntu16.04下安装opencv3.3

    最近重装了ubuntu16.04的系统,在给电脑配置好cuda8.0和cudnn6.0的版本后,开始重新安装opencv,在opencv的官网上发现最新版本3.3版本增加了很多深度学习方面的东西,果断 ...

  3. ubuntu16.04下安装opencv3.1.0

    1.安装依赖项 sudo apt--dev pkg-config libavcodec-dev libavformat-dev libswscale-dev 可选的 sudo apt--dev lib ...

  4. ubuntu16.04下安装opencv-3.1.0及其扩展模块opencv_contrib

    步骤1.安装依赖项 sudo apt--dev pkg-config libavcodec-dev libavformat-dev libswscale-dev 可选的 sudo apt--dev l ...

  5. Ubuntu16.04下安装OpenCV3.2.0

    1.安装官方给的opencv依赖包 $ sudo apt-get install build-essential $ sudo apt-get install cmake git libgtk2.0- ...

  6. ubuntu16.04下安装opencv3的viz模块

    OPENCV3.0默认是不安装VIZ模块的,那么如何安装呢? 如果已经安装了Opencv,现在要增加VIZ模块,应该再安装一次就可以吧,我没试过,我是卸载了原来的,重新安装的 简单来说,就是要多安装一 ...

  7. 【深度学习】ubuntu16.04下安装opencv3.4.0

    1.首先安装一些编译工具 # 安装编译工具 sudo apt-get install build-essential # 安装依赖包 sudo apt-get install cmake git li ...

  8. Ubuntu16.04下安装数据库oracle客户端

    在Ubuntu16.04下安装oracle数据库客户端,使Django项目连接到远程Oracle数据库. 1.下载oracle客户端安装包: 进入官网http://www.oracle.com/tec ...

  9. Ubuntu16.04下安装redis

    Ubuntu16.04下安装redis 保证网络畅通,选定好下载工作路径,执行以下命令下载redis-3.2.6: sudo wget http://download.redis.io/release ...

随机推荐

  1. elementUI表格排序问题

    elementUI表格排序: 问题:得不到排序后的数组,每次打印的总是一开始的数据 <el-table ref="passTable" :data="passTab ...

  2. day 1:计算机发展史和组成部分

    本节内容: 1,计算机的发展史 2,计算机的组成 1,计算机的发展史 1946年2月14日,由美国军方定制的世界上第一台电子计算机“电子数字积分计算机”(ENIAC Electronic Numeri ...

  3. pd16.5增加字段备注

    EXEC sp_addextendedproperty 'MS_Description', %.q:COLNNAME%, 'user', dbo, 'table', %TABLE%, 'column' ...

  4. docker常用操作备忘

    一.docker安装 参考资料:阿里云镜像加速1. 安装/升级Docker客户端 curl -fsSL https://get.docker.com | bash -s docker --mirror ...

  5. JAVA实训第二次作业

    一维数组的创建和遍历. 声明并创建存放4个人考试成绩的一维数组,并使用for循环遍历数组并打印分数.要求: (1) 首先按"顺序"遍历,即打印顺序为:从第一个人到第四个人: (2) ...

  6. gperftools对程序进行分析

    gperftools是google出品的一个性能分析工具,相关介绍可见:https://github.com/gperftools/gperftools/wikigperftools性能分析通过抽样方 ...

  7. C# 互通操作 (二)基础知识1

    [DllImport("user32.dll", EntryPoint = "MessageBox")] public static extern int De ...

  8. HttpWebRequest.AddRange 支持long类型

    很久很久以前,在哪个FAT32格式还流行的年代,文件大小普遍还没超过4G的年代,.Net已经出来了. 而那时候.Net实现的HTTP断点续传协议,还没预料到如此普及(我猜的).那时候的HttpWebR ...

  9. 微信for linux

    http://blog.csdn.net/sunxiang_520/article/details/51637551

  10. 《MySQL必知必会》官方提供的数据库和表

    数据用于配合<MySQL必知必会>(MySQL Crash Course)这本书使用,配套SQL文件也可在Ben Forta网站下载. Ben Forta网址:http://forta.c ...