个人已经厌倦了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. hdoj 5112 A Curious Matt

    A Curious Matt Time Limit: 2000/2000 MS (Java/Others)    Memory Limit: 512000/512000 K (Java/Others) ...

  2. poj 3984 迷宫问题【bfs+路径记录】

    迷宫问题 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10103   Accepted: 6005 Description ...

  3. iOS消息推送机制的实现

    研究了一下Apple Push Notification Service,实现的很简单,很环保.原理如下 财大气粗的苹果提供了一堆服务器,每个ios设备和这些服务器保持了一个长连接,ios版本更新提示 ...

  4. 解决IE下iframe默认有白色背景的bug

    又是一个IE莫名其妙的bug:做了一个弹出层,层里面是一张透明图片,IE下的iframe默认会有一个白色的背景,所以当iframe的外围背景并不是白色的时候,这个iframe就会显得非常的“与众不同” ...

  5. ScheduledExecutorFactoryBean忽略异常继续执行

    ScheduledExecutorFactoryBean忽略异常继续执行 程序中有一个定时任务,每10分钟把满足条件的任务从一个表迁移到另一张表,程序启动的时候数据库异常了一段时间,之后数据库恢复了. ...

  6. IOS - view之间切换

    //进入下一页 - (IBAction)Go:(id)sender { TwoViewController *twoVC = [[TwoViewController alloc] init];//这里 ...

  7. TreeMap 排序

    一.TreeMap TreeMap 默认排序规则:按照key的字典顺序来排序(升序) 当然,也可以自定义排序规则:要实现Comparator接口. 用法简单,先看下下面的demo public cla ...

  8. Javascript 高阶函数等

    高阶函数 函数可以接受另一个函数作为参数 称为 高阶函数. map : arr.map(pow); 数组.map(函数); reduce :arr.reduce(function(){ }); 数组. ...

  9. OOP设计模式[JAVA]——02观察者模式

    观察者模式 观察者模式的设计原则 为交互对象之间的松耦合设计而努力,使对象之间的相互依赖降到最低. 观察者模式也是对象行为型模式,其意图为:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时 ...

  10. android97 播放音频 有进度条控制

    package com.itheima.musicplayer; import android.os.Bundle; import android.os.Handler; import android ...