一、OpenCV简要介绍

  OpenCV是一个跨平台的计算机视觉库,可以运行在Windows、Linux、MacOS等操作系统上。OpenCV提供了众多语言的接口,其中就包含了Python,Python是一门上手容易、使用起来十分让人愉悦的语言,利用Python学习OpenCV,相信能获得不错的效果。

二、从官网上下载源码或安装包

  OpenCV的官方下载网址是http://opencv.org/releases.html,我选择的是最新3.2.0版本。

三、编译安装前的准备工作

  对于Windows用户,可直接下载exe文件安装,过程十分简单,这里就不再多说了,如果遇到问题可以看看官方的安装指南

  对于Linux用户,可下载源码自行编译。在官网上下载zip格式的源码压缩包,在编译之前需要先安装几个包:  

  • GCC 4.4.x or later
  • CMake 2.8.7 or higher
  • Git
  • GTK+2.x or higher, including headers (libgtk2.0-dev)
  • 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
  • [optional] CUDA Toolkit 6.5 or higher

  [optional]代表这个package是可选的,上面这些包都是可以通过apt-get命令直接安装的,打开终端,输入以下命令:

[compiler] $ sudo apt-get install build-essential
[required] $ sudo apt-get install cmake git libgtk2.-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
[optional] $ sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394--dev

  只需一小会,编译所依赖的packages便全部安装完毕了(这也是我喜欢Linux的原因之一,安装package十分的便利)。接着就是开始编译了,实际上编译只需要三行命令就可以完成。不过在此之前,还要在解压后的opencv-XXX 文件夹内建立一个build文件夹,编译生成的makefiles、project files、object files和output files会放在build文件夹里面。完成后,就可以开始正式的编译了。

四、编译安装

  1.配置。

$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

  CMAKE_BUILD_TYPE:       build的类型,有Release和Debug两种

  CMAKE_INSTALL_PREFIX:  指定想要安装OpenCV的文件夹目录,一般就用/usr/local

  除此之外,还可以添加上BUILD_DOCS 来build文档 以及 BUILD_EXAMPLES 来build所有的样例

  注意:如果上面的命令行无法工作,则把-D后面的空格去掉:

$ cmake -D CMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local ..

  2.编译。

  为了加快编译速度,一般会使用多线程的方法:

make -j7 # 同时使用七个线程

  3.安装。

sudo make install

  如果到现在你还没遇到任何问题,那么恭喜你,你已经成功在Linux上安装了OpenCV。

五、在Python下测试你的OpenCV

  为了测试你的OpenCV能否在Python上使用,可以运行一段小代码,读取一张图片并显示出来:

import cv2 # 引入OpenCV模块

image = cv2.imread("logo.png", 1)  # 读取一张图片,存储在image中
cv2.imshow("Hello, world!", image) # 创建一个名为"Hello,world!"的窗口,把image在窗口中展示出来
cv2.waitKey(0) # 等待用户按下任意按键
cv2.destroyAllWindows() # 销毁所有的窗口

  如果运行时报错,尝试把图片的相对路径改为绝对路径。运行成功后,你会看到你所选择的图片,我的图片是:

  

参考资料:OpenCV: Installation in Linux

  

Python下的OpenCV学习 01 —— 在Linux下安装OpenCV的更多相关文章

  1. opencv学习(1.2) - Windows 10 安装OpenCV &配置VS 2015

    windows 10 安装OpenCV&配置VS 2015 环境 系统:Windows 10 OpenCV版本:3.4.1 开发IDE:VS2015 社区版 下载安装 下载OpenCV 3.4 ...

  2. OpenCV学习一《Linux下安装OpenCV》

    第一步:安装源码前先安装好需要的第三⽅方环境 需要的编译环境■ [compiler] sudo apt-get install build-essential #  注释说明 64位ubuntu在安装 ...

  3. Linux学习心得之 Linux下命令行Android开发环境的搭建

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...

  4. Linux学习心得之 Linux下ant安装与使用

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下ant安装与使用 1. 前言2. ant安装3. 简单的a ...

  5. Java学习心得之 Linux下搭建Java环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建Java环境 1.前言2.JDK安装3.配置环境变量4. ...

  6. Java学习心得之 Linux下搭建JavaWeb环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建JavaWeb环境 1. 前言2. Java安装3. t ...

  7. Ruby学习心得之 Linux下搭建Ruby环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Ruby学习心得之 Linux下搭建Ruby环境1.前言2.Linux下安装Ruby环境 一 ...

  8. windows下编辑过的文件在Linux下用vi打开行尾会多出一个^M符号

    一般情况下,windows下编辑过的文件在Linux下用vi打开行尾会多出一个^M符号,如下图: 这是因为Windows等操作系统用的文本换行符和UNIX/Linux操作系统用的不同,Windows系 ...

  9. windows下写的脚本,在linux下执行失败

    Windows中的换行符为CRLF, 即正则表达式的rn(ASCII码为13和10), 而Unix(或Linux)换行符为LF, 即正则表达式的n. 在Windows和Linux下协同工作的时候, 往 ...

随机推荐

  1. 对sppnet网络的理解

    前言: 接着上一篇文章提到的RCNN网络物体检测,这个网络成功的引入了CNN卷积网络来进行特征提取,但是存在一个问题,就是对需要进行特征提取图片大小有严格的限制.当时面对这种问题,rg大神采用的是对分 ...

  2. Luogu 1402 酒店之王(二分图最大匹配)

    Luogu 1402 酒店之王(二分图最大匹配) Description XX酒店的老板想成为酒店之王,本着这种希望,第一步要将酒店变得人性化.由于很多来住店的旅客有自己喜好的房间色调.阳光等,也有自 ...

  3. jmeter-Java-MongoDB 数据库增删改查操作

    在日常测试过程中会发现有些测试数据是通过数据库来获取的,一般常用的数据比如SQL .Oracle,此类数据库jmeter有专门的插件进行使用JDBC,今天跟大家说一说关于Mongodb这个数据库jme ...

  4. Azkaban使用简单笔记

    官方文档:http://azkaban.github.io/ Azkaban主要的组成:1. 关系型数据库--MySQL2. AzkabanWebServer3. AzkabanExcutorServ ...

  5. MySQL后台线程的清理工作

    后台清理工作:脏页刷盘.undo回收 1.page cleaner thread:刷新脏页 2.purge thread:清空undo页.清理“deleted”page 一.innodb_page_c ...

  6. HTML5之placeholder属性以及如何更改placeholder属性中文字颜色

    今天在群里看到群友问了一个这样的问题,就是如何更改placeholder属性中文字的颜色,以前用过这属性,却是没更改过颜色,于是便试了试,中途遇到些问题,查找资料后特来总结一下. 熟悉HTML5的人应 ...

  7. (转)linux常用查看硬件设备信息命令

    场景:在一篇博客中看到这些总结性命令,感觉很实用就转载,以后用到进行相关的整理 系统 # uname -a # 查看内核/操作系统/CPU信息 # lsb_release -a # 查看操作系统版本 ...

  8. ASPCMS改造中

    10月中旬的时候,芹芹大神给我接了个做网站的活,一番商量过后,我以低得说出来丢人TT的价格接了.主要是想借此摸清网站制作的一条龙服务. 目前根据ASPCMS开源管理系统,做了个大致的构架,下面上草图: ...

  9. Python处理csv文件

    Python处理csv文件 CSV(Comma-Separated Values)即逗号分隔值,可以用Excel打开查看.由于是纯文本,任何编辑器也都可打开.与Excel文件不同,CSV文件中: 值没 ...

  10. HttpStatus各种状态

    JS.ns("JS.HTTPStatus","JS.XMLHttpRequest"); /** * FC 2616 HTTP1.1规范的HTTP Status状 ...