个人已经厌倦了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. 10670 Work Reduction (贪心 + 被题意坑了- -)y

    Problem C: Work Reduction Paperwork is beginning to pile up on your desk, and tensions at the workpl ...

  2. 【14】在资源管理类中小心copying行为

    1.为什么要使用资源管理类? 资源管理类的思路就是,栈上的对象,封装堆上分配的资源,确保一定会释放资源.auto_ptr和shared_ptr就是资源管理类,行为上像指针. 2.auto_ptr和sh ...

  3. android92 aidl远程进程通信

    05项目RemoteService.java package com.itheima.remoteservice; //05项目 import com.itheima.remoteservice.Pu ...

  4. vmtouch - the Virtual Memory Toucher

    https://hoytech.com/vmtouch/ [root@localhost ~]# git clone git://github.com/hoytech/vmtouch.git 正克隆到 ...

  5. mfc开发问题_v1

    1. 设置对话框按钮背景图片? 首先,设置对话框按钮的属性为Bitmap,然后导入资源文件(一个你需要作为背景的小图片),最后在该对话框类的OnInitDialog函数中添加如下代码: //设置对话框 ...

  6. opai_suki

  7. ie6的兼容总结

    ie6的兼容处理总结 1.透明背景图: .timer { _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='my.png ...

  8. [转]Form中控制Tab画布不同标签间切换的方法

    转自:http://yedward.net/?id=68 Form中一般常用的画布类型包括content.stacked.tab这三种,其实content类型的画布是每一个form都必须有的,而且只能 ...

  9. Spring MVC自定义统一异常处理类,并且在控制台中输出错误日志

    在使用SimpleMappingExceptionResolver实现统一异常处理后(参考Spring MVC的异常统一处理方法), 发现出现异常时,log4j无法在控制台输出错误日志.因此需要自定义 ...

  10. Nginx高性能服务器安装、配置、运维 (4) —— Nginx服务、架构及其信号

    五.Nginx服务.架构及其信号 (1)Nginx服务的查看 1.netstat -antp 查看Nginx是否在80端口运行: 2.ps aux|grep nginx 查看nginx相关进程: 发现 ...