OpenCV2学习笔记01:Linux下OpenCV开发环境的搭建
个人已经厌倦了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开发环境的搭建的更多相关文章
- Linux下STM32开发环境的搭建
目录 一.概述 1.目的 2.开发环境描述 3.Eclipse构建的STM32集成开发环境结构 4.GDB / GDB Server 调试模型 二.搭建步骤 三.详细的搭建过程 1.安装eclipse ...
- linux 下 eclipse 开发环境的搭建
在windows平台下开发习惯了各种ide,不得不承认ide给我们开发带来的便捷.于是希望在linux平台下也希望找到一个合适的ide.这就想起来了eclipse具有跨平台性. 那么就开始搭建环境吧. ...
- Android学习笔记(三)Android开发环境的搭建
一.配置JAVA环境 二.配置Android开发环境 可以安装adt-bundle-windows,该压缩包一般自带Eclipse.或者安装Android Studio,要注意SDK的版本是否符合要求 ...
- windows下STM32开发环境的搭建
一.概述 1.说明 笔者已经写了一篇Linux下STM32开发环境的搭建 ,这两篇文章的最区别在于开发环境所处的系统平台不一样,而其实这个区别对于开发环境的搭建其实影响不大,制作局部上的操作上发生了改 ...
- arm-linux下qt + opencv开发环境的搭建(Altera DE1 Soc)
arm-linux-gnueabihf-gcc下载 qt下载 arm-linux下qt + opencv开发环境的搭建(Altera DE1 Soc) Ubuntu 16.04 安装QT arm嵌入式 ...
- Linux环境下Android开发环境的搭建
本文主要介绍在Ubuntu下Android开发环境的搭建,所使用的IDE为Eclipse(Android Studio同理,且可省去配置SDK以及安装adt插件的步骤). 1.安装JDK (1)JDK ...
- angular学习笔记(2)- 前端开发环境
angular1学习笔记(2)- 前端开发环境 1.代码编辑工具 2.断点调试工具 3.版本管理工具 4.代码合并和混淆工具 5.依赖管理工具 6.单元测试工具 7.集成测试工具 常见的前端开发工具 ...
- deepin linux 下C开发环境配置
# deepin linux 下C开发环境配置 ## 前言-----------------------------deepin操作系统商店默认提供了 eclipse for c\c++但是系统没有提 ...
- Linux设备驱动开发环境的搭建(转)
经过两周的摸索,终于对Linux设备驱动开发有了个初步的认识,下面对Linux设备驱动开发环境的搭建做个小结,以方便自己以后查询,同时也能给同道的初学者一点帮助. 刚接触Linux设备驱动时,初学者往 ...
随机推荐
- 383. Container With Most Water
最后更新 一刷. 双指针夹逼. 容器的高度受限于较小的边,夹的时候底在变小,所以移动较大的边没有意义,最终高度还是小的那边:只能尝试移动小的那个边. public class Solution { p ...
- Notepad++中的颜色属性大全
Indent guideline style 缩进参考线的颜色 Brace highlight style 鼠标指针在框架左右时框架的颜色(如css中{} js中的()) Bad brace c ...
- snowflake算法(java版)
转自:http://www.cnblogs.com/haoxinyue/p/5208136.html 1. 数据库自增长序列或字段 最常见的方式.利用数据库,全数据库唯一. 优点: 1)简单,代码方 ...
- Android内存分析工具DDMS heap + MAT 安装和使用
一 Java内存分析工具扫盲 如果像我一样一点都不了解,可以先进行内存分析工具扫盲 MAT介绍: Eclipse Memory Analyzer(MAT)一个功能丰富的 JAVA 堆转储 ...
- 基于XMPP协议的aSmack源码分析
在研究如何实现Pushing功能期间,收集了很多关于Pushing的资料,其中有一个androidnp开源项目用的人比较多,但是由于长时间没有什么人去维护,听说bug的几率挺多的,为了以后自己的产品稳 ...
- js获取浏览器类型
function add(){ var userAgent = navigator.userAgent, rMsie = /(msie\s|trident.*rv:)([\w.]+)/, rFiref ...
- IFrame 根据嵌入页面自动调节大小
很多人估计会遇到这样的情况,在IFrame嵌入某些页面,总会出现滚动条,那么有没方法,可以让IFrame随着嵌入页面的内容大小自动调节大小而不出现滚动条呢?答案是肯定的,经过查找,本人发现用Ifram ...
- js 字符及字符串
1. 判断是否为null或者空字符 var == null var == undefined var == '' 2. 字符串及其分割 var arr = new Array(); //定义一数组 a ...
- Linux curl命令参数详解--转载
linux curl是通过url语法在命令行下上传或下载文件的工具软件,它支持http,https,ftp,ftps,telnet等多种协议,常被用来抓取网页和监控Web服务器状态. 一.Linux ...
- 转:Oracle EBS订单的流程(Order->AR)
目录(?)[-] 基本流程 创建订单 Pick Release Pick Confirm Ship Confirm Deliveries Interface Trip Stop - SRS Workf ...