在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官网下 ...
随机推荐
- Linux EXT 文件系统 详解
上几章我们讲到了Linux启动的一些问题,接下来我们来看一下硬盘分割和EXT格式文件系统的问题.前面提到了分区表的问题,分区表位于MBR, 占用64个字节.所谓的硬盘分区也就是对硬盘进行规划,填写分区 ...
- 【epubcfi函数generateRangeFromCfi和generateCfiFromRange】两者的区别和适用性,以及另一种实现
epubcfi是描述epub规范电子书中文本位置的一种描述符,它是形如" epubcfi(/6/4[Section0017.xhtml]!4/42/178/1:0,4/42/198/1:1) ...
- 调试和运行matlab代码(源程序)的技巧和教程
转载请标明出处:专注matlab代码下载的网站http://www.downma.com/ 本文主要给大家分享使用matlab编写代码,完成课程设计.毕业设计或者研究项目时,matlab调试程序的技巧 ...
- Selenium中如何使用xpath更快定位
在学习Selenium路上,踩了也不少坑,这是我最近才发现的一个新写法,好吧,"才发现"又说明我做其他事了.对的,我现在还在加班! 开车~~~ 例子:知乎网 标签:Python3. ...
- OSChinaclient源代码学习(1)--Android与Server的交互
这里主要针对"综合"这个选项卡下的"资讯"模块为样例.对核心代码进行解读. 准备工作:參考我的另外一篇博客 http://blog.csdn.net/csp27 ...
- gsp页面标签
gsp--Groovy Servers Pages <g:actionSubmit value=""/> 提交button <g:actionSubmit act ...
- Oracle之PLSQL
PL/SQL Developer是一个集成开发环境,专门开发面向Oracle数据库的应用.PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL)它是Ora ...
- CoordinatorLayout与滚动的处理
本博文专门解说和CoordinatorLayout相关的知识点,这也是Design Support Library中最重要与最难的部分. 概览 CoordinatorLayout实现了多种Materi ...
- JavaScript实现八大内部排序算法
注:基数排序中:r是关键字的基数,d是长度,n是关键字的个数 1.插入排序 基本思想:在序号i之前的元素(0到i-1)已经排好序,本趟需要找到i对应的元素x (此时即arr[i]) 的正确位置k,在寻 ...
- Spring依赖注入原理
接触过spring 的同学应该都知道依赖注入,依赖注入又称控制反转,其内涵就是,将创建某个bean的控制权力,由原来需要引用这个bean的bean转移(反转)到外部的spring IOC容器,由IOC ...