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

最新文章

  1. console在调试中的常见用法
  2. mysql本地可以访问 网络不能访问
  3. 利用ngxtop实时监控nginx的访问情况
  4. 《The Book of CSS3》学习笔记
  5. java 空指针异常(java.lang.NullPointerException)
  6. Oracle11G 卸载步骤
  7. requestAnimationFrame兼容性扩展
  8. android sdk manager 闪退 打不开问题
  9. PHP中如何防止SQL注入
  10. jquery mobile 按钮部件(包含图标的使用)
  11. 磁珠(FB)的选用
  12. string之substring的用法
  13. mysql5.6 主从配置
  14. org.apache.subversion.javahl.ClientException: svn: E155021: This client is too old to work with the
  15. H3C SecPath 防火墙端口回流
  16. 虚拟机VMware网络类型&amp;&amp;SSH远程连接Linux
  17. 211806189杨昊辰 https://www.cnblogs.com/honey1433223/
  18. [js]js的表单验证
  19. PHP多进程非阻塞模式下结合原生Mysql与单进程效率测试对比
  20. Python实现机器学习算法:AdaBoost算法

热门文章

  1. linux awk使用详解
  2. 20170529计划---统计业务量并生成EXCEL通过邮件发送
  3. iOS dispatch_semaphore_t(信号量)和 2.dispatch_group_t (组)
  4. mysql sql mode
  5. 修改maven的源地址为阿里源
  6. Windows 自动化补丁管理
  7. 20175316 盛茂淞 Arrays和String单元测试
  8. version control
  9. 第三次OO总结
  10. sql批量新增,修改