个人已经厌倦了Windows下的开发方式,于是决定转到Linux平台上来,当然我也知道这个转变会很艰辛,但是我还是要坚持。所以,后面的所有开发我都会基于Linux和Qt,先从开发环境的搭建开始做起,当然,这里我只会讲OpengCV部分到内容,至于Qt部分,请参考其他部分到资料,我这里使用的是当前最新到版本Qt 5.3.0和OpenCV 2.4.9,操作系统使用到是Ubuntu 14.04。

在安装OpenCV库之前,我们需要有一系列到准备工作要做,当然各个工作之间也没有什么必然联系,下面仅仅记录我自己在搭建开发环境时所使用到流程。

step 1: 编译器支持

首先需要提供gcc 4.4.x及以上到编译器支持,如果你已经安装了gcc,可以使用下面到名令来查看当前到版本。

 xiaomanon$ gcc -v

然后,你需要按章开发所需要到必须到各种软件包,仅仅需要使用下面到命令即可。

 xiaomanon$ sudo apt-get install build-essential

step 2: 安装CMake编译工具

至于CMake,在OpenCV到官网上面给出到要求是CMake 2.6及以上版本,我直接从CMake官网上下载来当前最新到3.0.0,接下来需要解压/编译/安装这个工具,依次执行下面到命令:

 xiaomanon$ tar xzvf cmake-3.0..tar.gz
xiaomanon$ cd cmake-3.0.
xiaomanon$ ./bootstrap
xiaomanon$ make
xiaomanon$ sudo make install

等上面到命令执行完成之后,执行下面到命令来查看安装是否成功。

 xiaomanon$ cmake --version

如果提示以下信息,则表示安装成功。

cmake version 3.0.0

step 3: 安装依赖库

OpenCV很多库函数都会依赖一些库文件,因此在安装配置OpenCV之前,请先安装相关到依赖库,命令如下:

 xiaomanon$ sudo apt-get install libgtk2.-dev libavcodec-dev libavformat-dev libjpeg8-dev libjpeg-dev libtiff5-dev libswscale-dev libjasper-dev
xiaomanon$ sudo apt-get update

安装完上面的依赖库以后,执行第二条命令主要是为了检查这些库是否有更新,如果有,请安装最新版本。

注意:如果是高校学生的话,选择教育网的源可能有些包找不到哦,所以建议选择一个外网的源,这里我选择的是163的源。

step 4: 安装OpenCV库

首先需要在OpenCV的官方网站上面下载Linux平台的源代码包:opencv-2.4.9.zip,然后将其解压到指定的目录下面,再进入到解压出来的目录中。

依次执行以下命令:

 xiaomanon$ cmake .  (注意,“.”之前有一个空格)
xiaomanon$ make
xiaomanon$ sudo make install

这里的make过程是十分耗时的,所以,请耐心等待。等到安装完成之后,我们可以在/usr/local/lib目录下面找到很多*.so结尾的opencv库文件,另外,在/usr/local/include目录下面可以看到opencv和opencv2两个文件夹,这里面就是这个库对应的头文件。

step 5: 配置环境

这是最后的收尾工作了。

(1) 创建配置文件opencv.conf

 xiaomanon$ sudo vim /etc/ld.so.conf.d/opencv.conf

编辑这个文件,第一次安装时,这个文件为空,向其中加入如下内容并保存退出。

/usr/local/lib

(2) 为了使运行的时候能够让系统找到这个路径,执行下面的命令:

 xiaomanon$ sudo ldconfig

(3) 配置环境变量

 xiaomanon$ sudo vim /etc/bash.bashrc

这个文件不会为空,然后定位到这个文件的尾部,并添加下面的内容并保存退出。

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

(4) 更新环境变量

 xiaomanon$ source /etc/bash.bashrc

就此,所有的配置工作就已经完成了。

OpenCV2学习笔记01:Linux下OpenCV开发环境的搭建的更多相关文章

  1. Linux下STM32开发环境的搭建

    目录 一.概述 1.目的 2.开发环境描述 3.Eclipse构建的STM32集成开发环境结构 4.GDB / GDB Server 调试模型 二.搭建步骤 三.详细的搭建过程 1.安装eclipse ...

  2. linux 下 eclipse 开发环境的搭建

    在windows平台下开发习惯了各种ide,不得不承认ide给我们开发带来的便捷.于是希望在linux平台下也希望找到一个合适的ide.这就想起来了eclipse具有跨平台性. 那么就开始搭建环境吧. ...

  3. Android学习笔记(三)Android开发环境的搭建

    一.配置JAVA环境 二.配置Android开发环境 可以安装adt-bundle-windows,该压缩包一般自带Eclipse.或者安装Android Studio,要注意SDK的版本是否符合要求 ...

  4. windows下STM32开发环境的搭建

    一.概述 1.说明 笔者已经写了一篇Linux下STM32开发环境的搭建 ,这两篇文章的最区别在于开发环境所处的系统平台不一样,而其实这个区别对于开发环境的搭建其实影响不大,制作局部上的操作上发生了改 ...

  5. arm-linux下qt + opencv开发环境的搭建(Altera DE1 Soc)

    arm-linux-gnueabihf-gcc下载 qt下载 arm-linux下qt + opencv开发环境的搭建(Altera DE1 Soc) Ubuntu 16.04 安装QT arm嵌入式 ...

  6. Linux环境下Android开发环境的搭建

    本文主要介绍在Ubuntu下Android开发环境的搭建,所使用的IDE为Eclipse(Android Studio同理,且可省去配置SDK以及安装adt插件的步骤). 1.安装JDK (1)JDK ...

  7. angular学习笔记(2)- 前端开发环境

    angular1学习笔记(2)- 前端开发环境 1.代码编辑工具 2.断点调试工具 3.版本管理工具 4.代码合并和混淆工具 5.依赖管理工具 6.单元测试工具 7.集成测试工具 常见的前端开发工具 ...

  8. deepin linux 下C开发环境配置

    # deepin linux 下C开发环境配置 ## 前言-----------------------------deepin操作系统商店默认提供了 eclipse for c\c++但是系统没有提 ...

  9. Linux设备驱动开发环境的搭建(转)

    经过两周的摸索,终于对Linux设备驱动开发有了个初步的认识,下面对Linux设备驱动开发环境的搭建做个小结,以方便自己以后查询,同时也能给同道的初学者一点帮助. 刚接触Linux设备驱动时,初学者往 ...

随机推荐

  1. 问题-[Delphi]提示Can't load package:dclite70.bpl解决方法

    问题现象:提示Can't load package:dclite70.bpl 问题原因:全是Window2003的Data Execution Prevention(DEF数据执行保护)造成的. 解决 ...

  2. Unity定时器

    需求:制作定时器,运行3秒后执行第一次,之后每隔3秒执行一次操作. 1.使用变量在Update中计时 public class TestTimer : MonoBehaviour { private ...

  3. android104 帧动画,补间动画,属性动画

    ##帧动画FrameAnimation* 多张图片快速切换,形成动画效果* 帧动画使用xml定义 package com.itheima.frameanimation; import android. ...

  4. 进程环境之setjmp和longjmp函数

    在C中,goto语句是不能跨越函数的,而执行这样跳转功能的是函数setjmp和longjmp.这两个函数对于处理发生在深层嵌套函数调用中的出错情况是非常有用的. setjmp和longjmp函数也称为 ...

  5. 从源码角度深入理解Toast

    Toast这个东西我们在开发中经常用到,使用也很简单,一行代码就能搞定: 1: Toast.makeText(", Toast.LENGTH_LONG).show(); 但是我们经常会遇到这 ...

  6. sizeof strlen strncpy用法总结 结构体实际所占内存大小 以及memset用法

    sizeof测类型(数组名除外) strlen测实际长度 strncpy返回指针类型 #include <stdio.h> #include <stdlib.h> #inclu ...

  7. 【转载】NIO服务端序列图

    步骤一:打开ServerSocketChannel,用于监听客户端的连接,它是所有客户端连接的父管道,代码示例如下: ServerSocketChannel acceptorSvr = ServerS ...

  8. C#扫盲之:String字符串的常用方法和冷知识

    前言 字符串对于任何编程语言都是必须操作和了解的,因为在实际编程中,任何项目和工程都必须要处理字符串数据,文件路径.提示消息,文本的处理等等,而在使用过程中很多人都是没有系统的了解,大量使用strin ...

  9. ACM——圆柱体的表面积

    lems 1092 圆柱体的表面积 时间限制(普通/Java):1000MS/3000MS          运行内存限制:65536KByte总提交:2697            测试通过:414 ...

  10. Linq 与UnitOfWork

    submitchages(linq to sql)或者savechanges(ef)的次数是根据你操作方法的数量决定的,也即是:它只认识自己的提交语句(submtchanges,savechanges ...