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的方法的更多相关文章

  1. 记录在Ubuntu 18.04系统中安装Apache, MySQL和PHP环境

    虽然我们在Linux VPS.服务器安装WEB环境比较方便,可以选择面板或者一键包,但是有些我们需要深入学习的网友不会选择一键安装,而是会尝试编译安装.这样可以学到一些内在的技术.一般我们较为习惯选择 ...

  2. [转] Ubuntu 12.04下LAMP安装配置 (Linux+Apache+Mysql+PHP)

    我是一个Linux新手,想要安装一台Ubuntu 12.04版的Linux服务器,用这台服务器上的LAMP套件来运行我自己的个人网站.LAMP套件就是 “Linux+Apache+Mysql+PHP这 ...

  3. Ubuntu 12.04下NFS安装配置图解

    以前就听说过nfs服务,但是一直没有用,在学习制作根文件系统的时候,才算是真正用上它了,我感觉它还不错,通过它“挂载”制作好的根文件系统.它在嵌入式中的角色就用下面的一张图说明吧! 用网线将主机与开发 ...

  4. ubuntu 12.04 nfs-server/client安装配置

    由于opennebula的共享存储的方式需要nfs,为了opennebula 3.8在ubuntu 12.04上搭建做铺垫,先介绍下nfs server和client端的安装和配置.   1. nfs ...

  5. 如何在 Ubuntu 15.04 系统中安装 Logwatch

    大家好,今天我们会讲述在 Ubuntu 15.04 操作系统上如何安装 Logwatch 软件,它也可以在各种 Linux 系统和类 Unix 系统上安装.Logwatch 是一款可定制的日志分析和日 ...

  6. 如何在Ubuntu 12.04 Server 中安装图形用户界面

    root@ubuntu:~# gedit /etc/environment root@ubuntu:~# gedit /etc/profile ---------------------------- ...

  7. 在Ubuntu 12.04 - 64bit中安装CodeSourcery时提示错误

    安装时提示错误,Your 64-bit Linux host is missing the 32-bit libraries requied to install and use Sourcery C ...

  8. Y460 安装ubuntu 12.04系统黑屏,登录界面黑屏

    ubuntu 12.04系统黑屏,登录界面黑屏,但是命令行界面可以登录,也可以正常使用,当时在装CVS,装完重启就这样了,可能是因为前一天装更新时,突然断电导致图形界面损坏,参考他人方法,终于修复,总 ...

  9. 【菜鸟学习Linux】-第三章- Linux环境搭建-使用VMware9安装Ubuntu 12.04系统

    上一步,我们安装了VMware9虚拟机,现在我们就是用它来安装Ubuntu12.04系统,至于Ubuntu是什么,我就不废话了,大家google一下,比我讲的清楚,好了,开始干活! Ubuntu官网下 ...

随机推荐

  1. Linux EXT 文件系统 详解

    上几章我们讲到了Linux启动的一些问题,接下来我们来看一下硬盘分割和EXT格式文件系统的问题.前面提到了分区表的问题,分区表位于MBR, 占用64个字节.所谓的硬盘分区也就是对硬盘进行规划,填写分区 ...

  2. 【epubcfi函数generateRangeFromCfi和generateCfiFromRange】两者的区别和适用性,以及另一种实现

    epubcfi是描述epub规范电子书中文本位置的一种描述符,它是形如" epubcfi(/6/4[Section0017.xhtml]!4/42/178/1:0,4/42/198/1:1) ...

  3. 调试和运行matlab代码(源程序)的技巧和教程

    转载请标明出处:专注matlab代码下载的网站http://www.downma.com/ 本文主要给大家分享使用matlab编写代码,完成课程设计.毕业设计或者研究项目时,matlab调试程序的技巧 ...

  4. Selenium中如何使用xpath更快定位

    在学习Selenium路上,踩了也不少坑,这是我最近才发现的一个新写法,好吧,"才发现"又说明我做其他事了.对的,我现在还在加班! 开车~~~ 例子:知乎网 标签:Python3. ...

  5. OSChinaclient源代码学习(1)--Android与Server的交互

    这里主要针对"综合"这个选项卡下的"资讯"模块为样例.对核心代码进行解读. 准备工作:參考我的另外一篇博客 http://blog.csdn.net/csp27 ...

  6. gsp页面标签

    gsp--Groovy Servers Pages <g:actionSubmit value=""/> 提交button <g:actionSubmit act ...

  7. Oracle之PLSQL

    PL/SQL Developer是一个集成开发环境,专门开发面向Oracle数据库的应用.PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL)它是Ora ...

  8. CoordinatorLayout与滚动的处理

    本博文专门解说和CoordinatorLayout相关的知识点,这也是Design Support Library中最重要与最难的部分. 概览 CoordinatorLayout实现了多种Materi ...

  9. JavaScript实现八大内部排序算法

    注:基数排序中:r是关键字的基数,d是长度,n是关键字的个数 1.插入排序 基本思想:在序号i之前的元素(0到i-1)已经排好序,本趟需要找到i对应的元素x (此时即arr[i]) 的正确位置k,在寻 ...

  10. Spring依赖注入原理

    接触过spring 的同学应该都知道依赖注入,依赖注入又称控制反转,其内涵就是,将创建某个bean的控制权力,由原来需要引用这个bean的bean转移(反转)到外部的spring IOC容器,由IOC ...