[原]Opencv 2.4.9在Ubuntu下的配置安装

 Opencv 2.4.9在Ubuntu下的配置与安装

surgewong@gmail.com

http://blog.csdn.net/surgewong

每次学习新东西或者换新的电脑,最让人头疼的就是环境的安装了。网上有一大堆教程,不过总地来讲,比较混乱,有些甚至有误导性,当然也不乏一些有质量的博客。为了方便自己以后重复安装以及能够帮助到有需要的朋友,在此将相关有用的博客整理一下。

这里主要讲一些如何在Ubuntu(12.04)下安装Opencv(2.4.9)。Opencv的源码可以在其官网下载,也可以在百度网盘下载。 Opencv的最近的一些版本都是使用cmake来编译的,其配置过程基本上是一样的。

一、依赖包安装

Ubuntu下安装软件或多或少都需要安装一些依赖包(软件)。opencv也不例外。

1.  build-essential 软件包,为编译程序提供必需软件包的列表信息,这样软件包才知道头文件、库函数在哪里。还会下载依赖的软件包,安装gcc/g++/gdb/make 等基本编程工具,最后才组成一个开发环境。

sudo apt-get install build-essential

2. 下面依赖关系主要是为了能够支持读写图片以及视频等。

sudo apt-get install  libgtk2.0-dev libavcodec-dev libavformat-dev  libtiff4-dev  libswscale-dev libjasper-dev

3. 安装cmake,直接使用apt-get方法。

sudo apt-get install cmake

4. 安装pkg-config,它是一个提供从源代码中编译软件时查询已安装的库时使用的统一接口的计算机软件。

sudo apt-get install pkg-config

Download and extract OpenCV

wget -O OpenCV-2.4.9.zip http://fossies.org/linux/misc/opencv-2.4.9.zip

unzip OpenCV-2.4.9.zip

cd opencv-2.4.9

 

二、编译安装过程

1. 使用cmake来检测编译环境以及生成makefile以及其他project信息,在使用cmake过程可以设置一些参数。

在本目录下使用cmake,注意后面的点表示在当前目录下寻找CMakeLists.txt。

cmake .  (解压缩后的openCV文件夹里,网上很多其它教程就失误在这了。。。)

也可以在可以在另外建一个文件夹,最常见的就是子目录。当然在构建的时候也可以配置一些参数:

cd opencv-2.4.9
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

2. 使用make编译

make (cd .. 也是退出到解压后的文件夹内)

3.  使用make install 安装

sudo make install

4.  上面的过程基本上完成了opencv的安装。但是并不能够马上用它,opencv还包含很多动态链接库。你可以在文件/etc/ld.so.conf中添加 /usr/local/lib(这个跟安装目录有关, {CMAKE_INSTALL_PREFIX}/lib),也可以在/etc/ld.so.conf.d 目录下增加一个conf文件(可以命名为 opencv.conf),同样添加 /usr/local/lib

使用下面的动态库管理命令ldconfig,让opencv的相关链接库被系统共享

sudo ldconfig -v

5.  完成了动态库的共享,还不能使用opencv来编程,还需要为程序指定openvc的头文件位置。这里使用pkg-config命令来完成。首先在 /etc/profile 中添加

export  PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

pkg-config 维护着一个关于opencv的配置文件,这个文件(opencv.pc)在目录 /usr/local/lib/pkgconfig,这个文件记录着opencv的一些动态库信息,还有头文件信息

通过pkg-config 命令可以列出关于opencv的配置信息:

三、测试

1. 在解压的opencv目录下找到 samples/c/build_all.sh,运行该文件

./build_all.sh

2. 找其中一个来运行看一下效果,例如 find_obj程序:

至此,关于opencv在Ubuntu下的安装成功了,尽情地遨游在计算机视觉的世界里吧!

还有一篇很不错的教程:

Install OpenCV 2.4.9 in Ubuntu 14.04, 13.10

- Reboot your machine

Step 6: Example using OpenCV

- Change directory to following location

cd /usr/local/share/OpenCV/samples/c

- Execute following commands

sudo chmod +x build_all.sh

sudo ./build_all.sh

./facedetect "/usr/share/opencv/haarcascades/haarcascade_frontalface_alt.xml" lena.jpg

or

./facedetect --cascade="/usr/share/opencv/haarcascades/haarcascade_frontalface_alt.xml" lena.jpg

Opencv 2.4.9在Ubuntu下的配置与安装的更多相关文章

  1. ubuntu下opencv2.4.9安装测试

    ubuntu下opencv2.4.9安装测试 whowhoha@outlook.com 一.依赖包安装 1.  build-essential 软件包 sudo apt-get install bui ...

  2. Ubuntu下deb包的安装方法 (zz)

    Ubuntu下deb包的安装方法 分类: Ubuntu10使用技巧 2010-10-11 23:49 42969人阅读 评论(3) 收藏 举报 ubuntudebdebianlinux deb是deb ...

  3. ubuntu下deb包的安装方法

    ubuntu下deb包的安装方法 简介 deb是debian linus的安装格式,跟red hat的rpm非常相似,最基本的安装命令是:dpkg -i file.deb dpkg 是Debian P ...

  4. UBUNTU下Y86模拟器的安装和使用

    UBUNTU下Y86模拟器的安装和使用 由于上周在虚拟机中安装Y86模拟器中出现了一些问题并且没得到解决,所以上周实验是在实验楼上做的,这几天练习了UBUNTU下Y86模拟器的安装和使用. 参考博客: ...

  5. ubuntu下nagios配置

    参考文献: http://www.cnblogs.com/mchina/archive/2013/02/20/2883404.html http://my.oschina.net/duangr/blo ...

  6. Ubuntu下MySql配置

    Ubuntu下MySql配置 安装MySQL 命令: sudo apt-get install mysql-server MySQL初始配置及管理 启动MySQL mysql start : mysq ...

  7. 【转】Ubuntu下deb包的安装方法

    [转]Ubuntu下deb包的安装方法 deb是debian linus的安装格式,跟red hat的rpm非常相似,最基本的安装命令是:dpkg -i file.deb dpkg 是Debian P ...

  8. 转载:Ubuntu下deb包的安装方法

    转载:Ubuntu下deb包的安装方法,http://blog.csdn.net/kevinhg/article/details/5934462 deb是debian linus的安装格式,跟red ...

  9. Ubuntu下Maven配置与Maven项目创建教程

    一. Ubuntu下Maven配置 windows下Maven配置参考http://www.cnblogs.com/LexMoon/p/JavaMaven.html ubuntu下Maven地址htt ...

随机推荐

  1. php安全的改进以及检测文件是否被篡改

    可以使用svn的check for modifications//查看更改 至于缓存的php模板文件 可以查找以下执行命令的函数是否存在phpinfo,eval,exec,passthru,shell ...

  2. Mydumper & Myloader Documentation

    Mydumper.org web site has been missing in action for a while now. I've uploaded a copy of the Mydump ...

  3. 014. asp.net实现记住密码的功能

    protected void Button1_Click(object sender, EventArgs e) { if (txtname.Text.Trim().Equals("mr&q ...

  4. oracle组件

    目前在用的四个oracle版本 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Parti ...

  5. linux服务之openldap

    http://www.openldap.org/ http://blog.csdn.net/chinalinuxzend/article/details/1870656 OpenLDAP学习笔记 ht ...

  6. wikioi 1204 寻找子串位置

    /*======================================================================== 1204 寻找子串位置 题目描述 Descript ...

  7. PHP stdClass Object转array

    用json传过来的数组并不是标准的array,所以需要用这个函数进行转换. function object_array($array){   if(is_object($array))   {    ...

  8. The launch will only sync the application package on the device!

    在开始学习Android的开发时,有时候可能刚写完一个布局文件,就急忙忙的运行程序,此时会毫不留情的在控制台报错:No Launcher activity found! The launch will ...

  9. webstorm修改文件,webpack-dev-server不自动编译刷新的解决办法

    webstorm设置中,"Settings"--"Appearance & Behavior"--"System Settings" ...

  10. DMALL刘江峰:生鲜市场具有巨大O2O改造空间

    今日,全球移动互联网大会(GMIC)在北京-国家会议中心开幕.DMALL创始人刘江峰在全球O2O峰会论坛作主题发言时谈到,生鲜市场具有巨大O2O改造空间.同时这也是刘江峰在离开荣耀之后首次登台介绍自己 ...