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设备驱动时,初学者往 ...
随机推荐
- hdoj 2546 饭卡
饭卡 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...
- Prime Land
http://poj.org/problem?id=1365 题意:给定一个数字n的拆分形式,然后让你求解n-1的值: 解析:直接爆搞 // File Name: poj1365.cpp // Aut ...
- NPIV介绍
我们知道在存储区域网络(SAN:storage area network),主机(Host)能够访问后端存储(比如CLARiiON,VNX)必备的一个前提是主机必须配备HBA卡(Host Bus Ad ...
- time_t和struct tm之间的转换
time_t到struct tm的转换: #include <time.h> struct tm *localtime(const time_t *timep); struct tm到ti ...
- HDU - 5187 - zhx's contest (高速幂+高速乘)
zhx's contest Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) To ...
- xargs i I{} 参数说明
find . -type f | xargs -I{} md5sum {} find . -type f -name "*.txt" | xargs -i cp {} /tmp/k ...
- Android View.onMeasure方法的理解(转载)
一下内容转载自http://blog.sina.com.cn/s/blog_61fbf8d10100zzoy.html View在屏幕上显示出来要先经过measure(计算)和layout(布局).1 ...
- Linux新手入门:通过chmod改变文件权限--转
前面介绍过在Linux中如何查看文件的属性,在Linux文件权限详解中我们介绍了Linux文件的三种身份和四种权限,三种身份分别为: u:文件的拥有者 g:文件所属的群组 o:其他用户 对于每个身份, ...
- 一款很不错的FLASH时种插件
直接贴一段代码上来,大家看看效果: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...
- javascript进击(七)Ajax
AJAX AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 不是新的编程语言,而是一种使用现有标准的新方法. AJA ...