在Ubuntu 12.04系统中安装配置OpenCV 2.4.3的方法
在Ubuntu 12.04系统中安装配置OpenCV 2.4.3的方法
对于,在Linux系统下做图像识别,不像在windows下面我们可以利用Matlab中的图像工具箱来实现,我们必须借助OpenCV这个开源的图像处理库。但是如何在Ubuntu下面安装呢,其实初学者来说的确很蛋疼,需要配置依赖库的之类的很繁琐。
下面我就以我自己的安装经历给大家一个示例吧。
Step 1:建立OpenCV所需的依赖关系。这是一般安装需要自己编译软件的第一步,也是最为重要的一步。在这里强烈建议大家安装一个“新立得”的包管理器。在Ubuntu下我们可以通过命令“sudo apt-get install synaptic”来安装。
(1) 安装最基本最必要的库
sudo apt-get install build-essential checkinstall cmake pkg-config yasm
(2) 安装读写图像的I/O库。这些库能够让你读取不同类型的图片。
sudo apt-get install libtiff4-dev libjpeg-dev libjasper-dev
(3) 安装读取视频文件的库。
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev
(4) 安装Python
sudo apt-get install python-dev python-numpy
(5) 安装第三方库,TBB它是使OpenCV支持并行编程所需要的库。
sudo apt-get install libtbb-dev
Step 2: 我们配置完上面的依赖项之后,我们就准备开始编译和安装OpenCV了。
(1) 首先我们可以到网上下载到我们在linux下面的OpenCV的安装包。我下载到的是OpenCV-2.4.3.tar.bz2
(2) 接下来,我们就将他解压,并且创建一个编译安装的目录 build
tar –xvf OpenCV-2.4.3.tar.bz2
cd OpenCV-2.4.3/
mkdir build
cd build
(3) 在这一步,我们将用CMake工具来确认我们的环境是否配置好。
我们先在终端窗口中输入“camke –version”来确认下cmake的版本号以及是否正确安装。
(4) 下面我们就进行依赖项检查,和OpenCV安装功能的配置。
cmake –D WITH_QT=ON –D WITH_XINE=ON –D WITH_OPENGL=ON –D WITH_TBB=ON –D BUILD_EXAMPLES=ON ..
注意:上面的命令中最后的两点绝对不能少。对于更多的操作配置选项,大家可以参考OpenCV解压出来目录中的CMakeLists.txt文件的说明,当执行完这条命令完之后你看看如果配置没有什么错误的话,我们就可以编译了。
(5) 进行编译操作。
make
(6) 如果上一步编译完成而且没有错误的话我们就可以进行安装了。
sudo make install
Step3: 最后我们进行链接库的配置。
(1) 我们将这句话“/usr/local/lib”添加到文件/etc/ld.so.conf文件中的最后一行
(2) 然后执行”sudo ldconfig”进行动态链接库的载入就OK啦。
Step4: 测试我们的软件是否安装正确
(1) 我们进入我们新建的build目录下的bin文件夹里“cd ./bin”,然后执行下面的命令“./opencv_test_core”来测试内核是否安装正确。
(2) 如果上一步没有出现错误的话,我们的万里长征终于走到了最后一步。最后我么用OpenCV自带的例子来测试下我们的运行结果吧。
我们先将当前目录切换到OpenCV解压出来的目录下,然后进入Samples目录下,再进入C目录下。然后再该目录下执行下面的命令“./build_all.sh”,这样所有的例子都编译好了。下面就按照我图片里的例子做吧。
我这是一OpenCV 自带的人脸识别程序为例的


至此,一切搞定啦!你就可以开始专心的玩你的OpenCV啦。
在Ubuntu 12.04系统中安装配置OpenCV 2.4.3的方法的更多相关文章
- 记录在Ubuntu 18.04系统中安装Apache, MySQL和PHP环境
		
虽然我们在Linux VPS.服务器安装WEB环境比较方便,可以选择面板或者一键包,但是有些我们需要深入学习的网友不会选择一键安装,而是会尝试编译安装.这样可以学到一些内在的技术.一般我们较为习惯选择 ...
 - [转] Ubuntu 12.04下LAMP安装配置 (Linux+Apache+Mysql+PHP)
		
我是一个Linux新手,想要安装一台Ubuntu 12.04版的Linux服务器,用这台服务器上的LAMP套件来运行我自己的个人网站.LAMP套件就是 “Linux+Apache+Mysql+PHP这 ...
 - Ubuntu 12.04下NFS安装配置图解
		
以前就听说过nfs服务,但是一直没有用,在学习制作根文件系统的时候,才算是真正用上它了,我感觉它还不错,通过它“挂载”制作好的根文件系统.它在嵌入式中的角色就用下面的一张图说明吧! 用网线将主机与开发 ...
 - ubuntu 12.04 nfs-server/client安装配置
		
由于opennebula的共享存储的方式需要nfs,为了opennebula 3.8在ubuntu 12.04上搭建做铺垫,先介绍下nfs server和client端的安装和配置. 1. nfs ...
 - 如何在 Ubuntu 15.04 系统中安装 Logwatch
		
大家好,今天我们会讲述在 Ubuntu 15.04 操作系统上如何安装 Logwatch 软件,它也可以在各种 Linux 系统和类 Unix 系统上安装.Logwatch 是一款可定制的日志分析和日 ...
 - 如何在Ubuntu 12.04 Server 中安装图形用户界面
		
root@ubuntu:~# gedit /etc/environment root@ubuntu:~# gedit /etc/profile ---------------------------- ...
 - 在Ubuntu 12.04 - 64bit中安装CodeSourcery时提示错误
		
安装时提示错误,Your 64-bit Linux host is missing the 32-bit libraries requied to install and use Sourcery C ...
 - Y460 安装ubuntu 12.04系统黑屏,登录界面黑屏
		
ubuntu 12.04系统黑屏,登录界面黑屏,但是命令行界面可以登录,也可以正常使用,当时在装CVS,装完重启就这样了,可能是因为前一天装更新时,突然断电导致图形界面损坏,参考他人方法,终于修复,总 ...
 - 【菜鸟学习Linux】-第三章- Linux环境搭建-使用VMware9安装Ubuntu 12.04系统
		
上一步,我们安装了VMware9虚拟机,现在我们就是用它来安装Ubuntu12.04系统,至于Ubuntu是什么,我就不废话了,大家google一下,比我讲的清楚,好了,开始干活! Ubuntu官网下 ...
 
随机推荐
- codeforces 893A	Chess For Three 模拟
			
893A Chess For Three 思路: 直接模拟即可,第一盘永远是A与B开始 代码: #include <bits/stdc++.h> using namespace std; ...
 - CCF-201509-2-日期计算
			
问题描述 试题编号: 201509-2 试题名称: 日期计算 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给定一个年份y和一个整数d,问这一年的第d天是几月几日? 注意闰年 ...
 - hiho-1015- KMP算法
			
#1015 : KMP算法 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在 ...
 - oracle触发器 调用 web接口
			
最近要求开发当数据表发生变化的时候调用web接口的需求,上网找了好几篇文章看着都觉得不是很好,也根据别人的思路去实现了下,感觉都不太理想,最后使用URLConnection实现了调用.具体查看一下代码 ...
 - Python2/3中的urllib库
			
urllib库对照速查表 Python2.X Python3.X urllib urllib.request, urllib.error, urllib.parse urllib2 urllib.re ...
 - 迭代加深搜索POJ 3134 Power Calculus
			
题意:输入正整数n(1<=n<=1000),问最少需要几次乘除法可以从x得到x的n次方,计算过程中x的指数要求是正的. 题解:这道题,他的结果是由1经过n次加减得到的,所以最先想到的就是暴 ...
 - poj 2271HTML
			
poj2271 HTML Description If you ever tried to read a html document on a Macintosh, you know how hard ...
 - Java设计模式之策略设计模式
			
1.什么是-策略设计模式 在软件开发中常常遇到这种情况,实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能.如查找.排序等,一种常用的方法是硬编码(Ha ...
 - 【前端】Util.js-ES6实现的常用100多个javaScript简短函数封装合集(持续更新中)
			
Util.js (持续更新中...) 项目地址: https://github.com/dragonir/Util.js 项目描述 Util.js 是对常用函数的封装,方便在实际项目中使用,主要内容包 ...
 - HDoj-1042 大数阶乘
			
N! Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submis ...