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. accept 文件描述符用尽处理

    if (events[i].data.fd == listenfd) { peerlen = sizeof(peeraddr); connfd = ::accept4(listenfd, (struc ...

  2. dijkstra最小花费

    //Gang #include<iostream> #include<cstring> #include<algorithm> #include<cstdio ...

  3. String、StringBuilder和StringBuffer

    1.string不可变性 java的docs有这样一句话:Strings are constant; their values cannot be changed after they are cre ...

  4. 数据库索引------B-Tree 索引和 Hash 索引的对比

    对于 B-tree 和 hash 数据结构的理解能够有助于预测不同存储引擎下使用不同索引的查询性能的差异,尤其是那些允许你选择 B-tree 或者 hash 索引的内存存储引擎. B-Tree 索引的 ...

  5. QT之UDP通信

    前言:前一篇讲了TCP通信,这篇来看看UDP通信. 这里说明一下,UDP通信中分为三种通信分别为单播.组播和广播,下面将一一为大家介绍. 同样的我们都需要在工程文件中添加network QT += c ...

  6. PDFBox创建并打印PDF文件, 以及缩放问题的处理.

    PDFBox带了一些很方便的API, 可以直接创建 读取 编辑 打印PDF文件. 创建PDF文件 public static byte[] createHelloPDF() { ByteArrayOu ...

  7. 进程组与会话 Linux Process Groups and Sessions

    在类Unix系统中,用户通常会跟各种相关的进程打交道.虽然在登录的时候只有一个终端进程(用户对应的登录shell ,通过这个shell启动各种程序和服务),但通常不久以后就会产生许多相关的进程,例如进 ...

  8. 用maven搭建java ee项目

    一.开发环境 jdk1.7  tomcat7 eclipse-jee-luna-R-win32 maven2.2.1 二搭建步骤 1.点击File->New->Other,选择maven ...

  9. Mac: Android studio+VirtualBox+Genymotion

    针对 Mac Yosemite 10.10.4 操作系统 1.在Android Studio 中preferences 中的Plugins 中安装Genymotion插件. Android Studi ...

  10. lua 中pairs 和 ipairs差别

    ipairs 和pairs在lua中都是遍历tbale的函数可是两者有差别 1.pairs遍历table中的全部的key-vale 而ipairs会依据key的数值从1開始加1递增遍历相应的table ...