Opencv 2.4.9在Ubuntu下的配置与安装
[原]Opencv 2.4.9在Ubuntu下的配置安装
Opencv 2.4.9在Ubuntu下的配置与安装
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下的配置与安装的更多相关文章
- ubuntu下opencv2.4.9安装测试
ubuntu下opencv2.4.9安装测试 whowhoha@outlook.com 一.依赖包安装 1. build-essential 软件包 sudo apt-get install bui ...
- Ubuntu下deb包的安装方法 (zz)
Ubuntu下deb包的安装方法 分类: Ubuntu10使用技巧 2010-10-11 23:49 42969人阅读 评论(3) 收藏 举报 ubuntudebdebianlinux deb是deb ...
- ubuntu下deb包的安装方法
ubuntu下deb包的安装方法 简介 deb是debian linus的安装格式,跟red hat的rpm非常相似,最基本的安装命令是:dpkg -i file.deb dpkg 是Debian P ...
- UBUNTU下Y86模拟器的安装和使用
UBUNTU下Y86模拟器的安装和使用 由于上周在虚拟机中安装Y86模拟器中出现了一些问题并且没得到解决,所以上周实验是在实验楼上做的,这几天练习了UBUNTU下Y86模拟器的安装和使用. 参考博客: ...
- ubuntu下nagios配置
参考文献: http://www.cnblogs.com/mchina/archive/2013/02/20/2883404.html http://my.oschina.net/duangr/blo ...
- Ubuntu下MySql配置
Ubuntu下MySql配置 安装MySQL 命令: sudo apt-get install mysql-server MySQL初始配置及管理 启动MySQL mysql start : mysq ...
- 【转】Ubuntu下deb包的安装方法
[转]Ubuntu下deb包的安装方法 deb是debian linus的安装格式,跟red hat的rpm非常相似,最基本的安装命令是:dpkg -i file.deb dpkg 是Debian P ...
- 转载:Ubuntu下deb包的安装方法
转载:Ubuntu下deb包的安装方法,http://blog.csdn.net/kevinhg/article/details/5934462 deb是debian linus的安装格式,跟red ...
- Ubuntu下Maven配置与Maven项目创建教程
一. Ubuntu下Maven配置 windows下Maven配置参考http://www.cnblogs.com/LexMoon/p/JavaMaven.html ubuntu下Maven地址htt ...
随机推荐
- PADS Logic 常见错误报告内容
1.PCB Decal LED0805 not found in Library pcb封装不在库中. 找到原图中的pcb-save to library 未分配PCB时候,右键Edit part-找 ...
- Nginx-limit_req限速配置示例
#以用户二进制IP地址,定义三个漏桶,滴落速率1-3req/sec,桶空间1m,1M能保持大约16000个(IP)状态 limit_req_zone $binary_remote_addr zone= ...
- weblogic管理2 - 创建并启动一个managed server
创建一个managed server. 1. 进入网页console管理页面,如:http://10.100.25.14:7001/console , 先点击->服务器 (红色标记框) ...
- centos6.7 本地yum源配置
[BEGIN] 2016/11/9 21:47:31[root@11g ~]# mount /dev/cdrom /mediamount: block device /dev/sr0 is write ...
- Bitmap 之 getPixels() 的 stride
学习Graphics中遇到位图(Bitmap)中getPixels()方法,对该方法的用法大体理解,但对其中的stride参数却不明白具体的用法以及用意,现记述过程如下: getPixels()方法的 ...
- QQ登入(3)QQ空间分享-无需登入
public void myclick2(View v){ //QZone分享, SHARE_TO_QQ_TYPE_DEFAULT 图文,SHARE_TO_QQ_TYPE_IMAGE 纯图 ,SHAR ...
- 一个LINUX狂人的语录(个人认为很精辟)
http://blog.chinaunix.net/uid-57160-id-2734431.html?page=2 我已经半年没有使用 Windows 的方式工作了.Linux 高效的完成了我所有的 ...
- .net 开源 JavaScript 解析引擎
1. Javascript .NET 地址为:http://javascriptdotnet.codeplex.com/ 使用方法: Quick Start This section provides ...
- js键盘事件全面控制
js键盘事件全面控制 主要分四个部分第一部分:浏览器的按键事件第二部分:兼容浏览器第三部分:代码实现和优化第四部分:总结 第一部分:浏览器的按键事件 用js实现键盘记录,要关注浏览器的三种按键事件类型 ...
- Java的大数操作分为BigInteger和BigDecimal
Java的大数操作分为BigInteger和BigDecimal,但这两给类是分开使用的,有时候在编程的时候显得略微繁琐,现在编写了一个将二者合二为一的大数操作类. 大数操作类代码如下: 1 pack ...