[学习OpenCV攻略][002][Ubuntu下OpenCV安装]
配置环境
操作系统 Ubuntu 12.04
OpenCV版本 opencv-1.0.0
学习书籍 《学习OpenCV》
Liunx软件安装方法主要有3种:
1.编译安装,也就是通过编译源代码来安装,需要配置编译源代码的环境来编译源代码
2.apt-get/yum 软件源安装,通过网络的软件源来进行安装,会自动下载相关软件源
3.deb/rpm 安装包来安装,可以通过下载安装包来进行离线安装,有时会需要下载相关软件包
Ubuntu下OpenCV的apt-get安装方法
1.apt-get update 更新软件源
2.apt-cache search opencv 搜索opencv相关的软件源,学习opencv-1.0.0版本需要安装如下的软件源:
libcv-dev - development files for libcv
libcv - computer vision library
libcvaux-dev - development files for libcvaux
libcvaux - computer vision extension library
libhighgui-dev - development files for libhighgui
libhighgui - computer vision GUI library
3.apt-get install libcv libcvaux libhighgui
支持OpenCV的动态运行库,会根据版本号有所不同,安装最新版本即可
4.apt-get install libcv-dev libcvaux-dev libhighgui-dev
开发相关的工具包,直接安装即可
5.g++ test.c `pkg-config opencv --libs --cflags` -o test 测试是否能编译opencv编写的程序。需要注意的是test.c需要在`pkg-config opencv --cflags --libs`前面,否则会找不到头文件
6.vim Makefile 编写Makefile文件来简化编译过程
CFLAGS = `pkg-config --cflags opencv`
LIBS = `pkg-config --libs opencv` % : %.c
g++ $^ $(CFLAGS) $(LIBS) -o $@
% : %.cpp
g++ $^ $(CFLAGS) $(LIBS) -o $@
说明:
1.gcc和g++的区别:
但在编译阶段,g++会自动调用gcc,但gcc命令不能自动和c++程序使用的库链接,所以在链接c++程序时需要用g++。对于编译链接c程序,gcc和g++是等价的,但在编译链接c++程序时需要用g++。
2.`pkg-config opencv --libs --cflags`
在/lib和/usr/lib和/usr/local/lib里有许多相关的头文件和库文件,可以通过-l和-L命令在编译时来引用放在这些目录下的头文件和库文件。当引用的文件很多时,可以使用生成链接参数的程序xxx-config,一般放在/usr/bin目录下。在编译链接程序时直接加上`xxx-config opencv --cflags --libs`就可以引用相关的头文件和库文件了。需要注意的是`不是单引号而是1键左边的那个符号,引用要放在源文件后面否则会产生找不到函数的错误。--cflags表示引用xxx-config配置文件中的头文件,--libs表示引用xxx-config配置文件中的库文件
OpenCV forever,开始享受OpenCV吧!
参考:
1.http://wiki.opencv.org.cn/index.php/Debian%E4%B8%8B%E5%AE%89%E8%A3%85
2.http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/introduction/linux_install/linux_install.html#linux-installation
3.http://stackoverflow.com/questions/9870297/makefile-to-compile-opencv-code-in-c-on-ubuntu-linux
[学习OpenCV攻略][002][Ubuntu下OpenCV安装]的更多相关文章
- [学习OpenCV攻略][017][ARM9下移植OpenCV]
安装环境 宿主机: Red Hat Enterprise Linux Server 6.3 开发板: mini2440 相关软件: cmake-3.5.1.tar.gz.OpenCV-2.3.1a.t ...
- [学习OpenCV攻略][016][RedHat下安装OpenCV]
安装环境 操作系统: Red Hat Enterprise Linux Server 6.3 相关软件: ffmpeg-0.8.15.tar.bz2.cmake-3.5.1.tar.gz.OpenCV ...
- [学习OpenCV攻略][001][Ubuntu安装及配置]
root登入配置 1.sudo passwd root 2.su - root 3.vim /etc/lightdm/lightdm.conf [SeatDefaults] user-session= ...
- OpenCV学习系列(一) Mac下OpenCV + xcode人脸检测实现
# OpenCV学习系列(一) Mac下OpenCV + xcode人脸检测实现 [-= 博客目录 =-] 1-学习目标 1.1-本章介绍 1.2-实践内容 1.3-相关说明 2-学习过程 2.1-环 ...
- 基于opencv网络摄像头在ubuntu下的视频获取
基于opencv网络摄像头在ubuntu下的视频获取 1 工具 原料 平台 :UBUNTU12.04 安装库 Opencv-2.3 2 安装编译运行步骤 安装编译opencv-2.3 参 ...
- Ubuntu下OpenCV不能被某个python版本识别
Ubuntu下OpenCV不能被某个python版本识别 Solution: 可以进入相应版本的python,查看该python的path: python import sys print(sys.p ...
- Ubuntu下opencv的安装及IDEA开发配置
Ubuntu下opencv的安装及IDEA开发配置 环境配置 这篇博客主要介绍Ubuntu下opencv的安装编译,以及IDEA对opencv进行Java开发的环境配置 安装opencv 首先安装o ...
- OpenCV学习系列(零) Mac下OpenCV + xcode环境搭建
# OpenCV学习系列(零) Mac下OpenCV + xcode环境搭建 [-= 博客目录 =-] 1-学习目标 1.1-本章介绍 1.2-实践内容 1.3-相关说明 2-学习过程 2.1-hom ...
- Torch7在Ubuntu下的安装与配置
Torch7的本系列教程的主要目的是介绍Torch的入门使用.今天首先分享一下Torch7的安装.(在Ubuntu14.04安装torch7) 为什么选择Torch Torch的目标是在建立科学算法的 ...
随机推荐
- OpenStack运维(一):OpenStack项目和用户
1.添加项目 keystone tenant-create --name=demo [--description tenant-description --enable false] demo:项目名 ...
- lsattr 命令详解
lsattr 作用: 查看文件的第二扩展文件系统属性 选项: -a: 列出目录中的全部文件 -E: 显示设备属性的当前值, 从设备数据库中获得 -D: 显示属性的名称, 属性的默认值,描述和用户是否 ...
- 解决 mysql 中文乱码
mysql版本:5.6.38 虽然创建实例时选择的是utf-8的utf8_general_ci,但是用其他程序保存中文时依旧出现乱码的情况. 记录一种可行的解决方案,即修改数据库的字符集. 由于该环境 ...
- 联想笔记本电脑 Z500除尘过程
首先说明联想z500真的是特别难拆,主要是C面的键盘如果没有垫片的话很难拆下,建议准备好垫片再进行. 第一步 首先拆掉背面的五个螺丝钉,然后打开四个垫子注意方向,把隐藏的另外四个螺丝拆掉. 第二步 把 ...
- JavaScript Array 对象方法 以及 如何区分javascript中的toString()、toLocaleString()、valueOf()方法
1.concat() 2.join() 3.pop() 4.push() 5.reverse() 6.shift() 7.unshift() 8.slice() 9.sort() 10.splice( ...
- php 简单通用的日志记录方法
使用file_put_contents 方法来实现简单便捷的日志记录功能 方法1: // use \r\n for new line on windows, just \n on linux func ...
- C#语言和SQL Server第十三 十四章笔记
十三章 使用ADO.NET访问数据库 十四章使用ADO.NET查询和操作数据库 十三章: ...
- Java求循环节长度
两个整数做除法,有时会产生循环小数,其循环部分称为:循环节.比如,11/13=6=>0.846153846153..... 其循环节为[846153] 共有6位.下面的方法,可以求出循环节的长 ...
- [Python学习] Django 权限控制
本文为大家讲解 Django 框架里自带的权限模型,从理论到实战演练,带领大家了解 Django 里权限是怎么一回事. 一.主要内容 1.什么是权限管理? 2.Web 权限 3.Django 权限机制 ...
- GpG使用指南
1. 简介 1991年,程序员Phil Zimmermann为了避开政府监视,开发了加密软件PGP.这个软件非常好用,迅速流传开来,成了许多程序员的必备工具.但是,它是商业软件,不能自由使用.所以,自 ...