在Ubuntu 12.04系统中安装配置OpenCV 2.4.3的方法
在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的方法的更多相关文章
- 记录在Ubuntu 18.04系统中安装Apache, MySQL和PHP环境
虽然我们在Linux VPS.服务器安装WEB环境比较方便,可以选择面板或者一键包,但是有些我们需要深入学习的网友不会选择一键安装,而是会尝试编译安装.这样可以学到一些内在的技术.一般我们较为习惯选择 ...
- [转] Ubuntu 12.04下LAMP安装配置 (Linux+Apache+Mysql+PHP)
我是一个Linux新手,想要安装一台Ubuntu 12.04版的Linux服务器,用这台服务器上的LAMP套件来运行我自己的个人网站.LAMP套件就是 “Linux+Apache+Mysql+PHP这 ...
- Ubuntu 12.04下NFS安装配置图解
以前就听说过nfs服务,但是一直没有用,在学习制作根文件系统的时候,才算是真正用上它了,我感觉它还不错,通过它“挂载”制作好的根文件系统.它在嵌入式中的角色就用下面的一张图说明吧! 用网线将主机与开发 ...
- ubuntu 12.04 nfs-server/client安装配置
由于opennebula的共享存储的方式需要nfs,为了opennebula 3.8在ubuntu 12.04上搭建做铺垫,先介绍下nfs server和client端的安装和配置. 1. nfs ...
- 如何在 Ubuntu 15.04 系统中安装 Logwatch
大家好,今天我们会讲述在 Ubuntu 15.04 操作系统上如何安装 Logwatch 软件,它也可以在各种 Linux 系统和类 Unix 系统上安装.Logwatch 是一款可定制的日志分析和日 ...
- 如何在Ubuntu 12.04 Server 中安装图形用户界面
root@ubuntu:~# gedit /etc/environment root@ubuntu:~# gedit /etc/profile ---------------------------- ...
- 在Ubuntu 12.04 - 64bit中安装CodeSourcery时提示错误
安装时提示错误,Your 64-bit Linux host is missing the 32-bit libraries requied to install and use Sourcery C ...
- Y460 安装ubuntu 12.04系统黑屏,登录界面黑屏
ubuntu 12.04系统黑屏,登录界面黑屏,但是命令行界面可以登录,也可以正常使用,当时在装CVS,装完重启就这样了,可能是因为前一天装更新时,突然断电导致图形界面损坏,参考他人方法,终于修复,总 ...
- 【菜鸟学习Linux】-第三章- Linux环境搭建-使用VMware9安装Ubuntu 12.04系统
上一步,我们安装了VMware9虚拟机,现在我们就是用它来安装Ubuntu12.04系统,至于Ubuntu是什么,我就不废话了,大家google一下,比我讲的清楚,好了,开始干活! Ubuntu官网下 ...
随机推荐
- “玲珑杯”ACM比赛 Round #22 E 贪心,脑洞
1171 - 这个E大概是垃圾桶捡来的 Time Limit:2s Memory Limit:128MByte Submissions:138Solved:45 DESCRIPTION B君在做 CO ...
- jquery 循环数组输出显示在html页面
jquery 没有双向数据绑定,但是很多需求确实需要我们从后台接收到数组或者对象循环显示在前台页面上,这时我们可以用字符串拼接,元素添加的方法去实现 js部分如下: $(function(){ var ...
- NIO相关基础篇二
转载请注明原创出处,谢谢! 上篇NIO相关基础篇一,主要介绍了一些基本的概念以及缓冲区(Buffer)和通道(Channel),本篇继续NIO相关话题内容,主要就是文件锁.以及比较关键的Selecto ...
- java web学习笔记 servlet
关于java web web.xml中一般配置的都是与servlet先关的可以配置servlet filter listener context-param用来配置web应用的启动参数,可用通过Ser ...
- js 继承的简单易懂小例子
js 继承 今天主要说原型链继承.构造继承.组合继承三种常用继承方式,分享一下我的理解. 原型链继承例子1 //原型继承function A(name){ this.name = name;}func ...
- tensorflow 自定义损失函数示例
这个自定义损失函数的背景:(一般回归用的损失函数是MSE, 但要看实际遇到的情况而有所改变) 我们现在想要做一个回归,来预估某个商品的销量,现在我们知道,一件商品的成本是1元,售价是10元. 如果我们 ...
- toolbar ,textfield,图片拉伸,Bundle
1 工具栏 UIToolbar 2 textField 协议方法 一旦TextField成为第一响应,此方法就会调用 - (void)textFieldDidBeginEditing:(U ...
- HTTP请求中怎样选择Get和Post方式
在应用中最经常使用的Http请求无非是get和post,get请求能够获取静态页面,也能够把參数放在URL字串后面,传递给servlet.post与get的不同之处在于post的參数不是放在URL字串 ...
- 兔子-ps抠图
介绍2种方法:1.用高速选择工具 2.用铅笔工具 1.高速选择后.ctrl+c复制,新建空白图片,粘贴进去 2.用钢笔工具在图像的边缘定出若二个点,确定完毕之后按crtl+回车键选择.然后复制,新建空 ...
- 关于一些常用的linux命令
作为一个程序员了解linux系统还是很必要的,下面我为大家提供一些linux系统中比较常的命令 一.linux系统命令 1.Cd 进入指定目录 2.ls 显示当前目录下的文件 3.ls-a 显示所有 ...