OpenCV中Kinect的使用(1)
图像处理中一般为了更好的获取外部信息都会使用到Kinect,其优势在于除了传统的RGB摄像头之外,还拥有一个获取深度信息的3D深度感应器,因此可以获得外界物体的3维信息实现物体的跟踪、手势识别等各项功能。更详细的介绍可参考:身體就是控制器,微軟Kinect是怎麼做到的?
下面介绍OpenCV中Kinect的一些简单的使用方法。
- Kinect驱动的安装
这里选择PrimeSense公司的OpenNI系列(开源+多平台64+32),主要由三部分组成(从底层到高层):PrimeSenser驱动(底层驱动),OPENNI软件包(提供硬件与应用软件连接的中间层),NITE软件包(负责手势和骨咯侦测)。
安装顺序如下:
1 OpenNI-Win32-1.3.2.1-Dev.msi
2 avin2-SensorKinect-0e5a176\Bin\SensorKinect-Win-OpenSource32-5.0.3.3.msi
3 NITE-Win32-1.4.0.5-Dev.msi
4 Sensor-Win32-5.0.3.3-Redist.msi
“OPENNI会根据(C:\Program Files\OpenNI)下面data下的3个xml文件来启动硬件(值得注意的是,它不是直接访问硬件传输数据,而是呼叫驱动代理C:\Program Files\PrimeSense\Sensor\Bin下面的*.exe[所以我们要先安装openNI再安装driver];
安装好OPENNI和sensore dirver后,我们只可以运行openNI里面的部分事例(C:\Program Files\OpenNI\Samples);为什么是部分呢?因为OPENNI和骨咯软件NITE是联动的,里面高级的samples需要访问NITE引擎”。
测试OpenNI驱动是否安装成功的简单方法便是运行其自带的sample,如C:\Program Files\OpenNI\Samples\Bin\Release下的NiViewer.exe。
- 注意事项:
1:OpenNI官网上OpenNI以更新到2.0系列,其架构和组成已和1系列发生了很大的不同,其中包括安装方法,组成等,而且更重要的一点是现在OpenCV的版本中还没有开发出对应OpenNI2系列的接口,因此现在要通过OpenNI驱动Kinect的话必须要使用OpenNI 1系列,1和2系列的变化具体可参考官网:《Middleware Library Guidelines》;
2:要驱动Kinect的话,OpenCV应在自己的电脑上重新cmake过一遍,参见这里;
3:如果仅仅要利用Kinect获取深度图像的话,只需安装1和2即可,如果要加入手势识别和骨骼识别的话,3和4必不可少;
4:无论你的电脑是32(x86)还是64bit,32bit的OpenNI驱动都可以顺利安装成功,同理,OpenCV也一样,一切都按照32bit的操作即可(包括VS的配置和使用);
5:无法定位程序输入点XXXXX到OpenNI.dll库上的解决方法。
参考资料:
Kinect OPENNI 安装教程(for Win x64 i32)
2013-10-26
OpenCV中Kinect的使用(1)的更多相关文章
- OpenCV中Kinect的使用(3)
接OpenCV中Kinect的使用(2),下面内容主要讲述使用OpenNI 控制Kinect 的马达,实现摄像头的上下摆动. 下面是透过OpenNI比较低阶的USB控制介面(XnUSB.h),来做到马 ...
- OpenCV中Kinect的使用(2)
接OpenCV中Kinect的使用(1),主要讲述OpenCV中关于Kinect接口(类 VideoCapture )的一些使用介绍. 类 VideoCapture 支持Kinect传感器.使用 Vi ...
- opencv中Mat与IplImage,CVMat类型之间转换
opencv中对图像的处理是最基本的操作,一般的图像类型为IplImage类型,但是当我们对图像进行处理的时候,多数都是对像素矩阵进行处理,所以这三个类型之间的转换会对我们的工作带来便利. Mat类型 ...
- 解析opencv中Box Filter的实现并提出进一步加速的方案(源码共享)。
说明:本文所有算法的涉及到的优化均指在PC上进行的,对于其他构架是否合适未知,请自行试验. Box Filter,最经典的一种领域操作,在无数的场合中都有着广泛的应用,作为一个很基础的函数,其性能的好 ...
- OpenCV中IplImage图像格式与BYTE图像数据的转换
最近在将Karlsruhe Institute of Technology的Andreas Geiger发表在ACCV2010上的Efficent Large-Scale Stereo Matchin ...
- opencv中的SIFT,SURF,ORB,FAST 特征描叙算子比较
opencv中的SIFT,SURF,ORB,FAST 特征描叙算子比较 参考: http://wenku.baidu.com/link?url=1aDYAJBCrrK-uk2w3sSNai7h52x_ ...
- 混合高斯模型:opencv中MOG2的代码结构梳理
/* 头文件:OurGaussmix2.h */ #include "opencv2/core/core.hpp" #include <list> #include&q ...
- opencv中的.at方法
opencv中的.at方法是用来获取图像像素值得函数: interpolation:差值 histogram:直方图
- 【OpenCV】OpenCV中GPU模块使用
CUDA基本使用方法 在介绍OpenCV中GPU模块使用之前,先回顾下CUDA的一般使用方法,其基本步骤如下: 1.主机代码执行:2.传输数据到GPU:3.确定grid,block大小: 4.调用内核 ...
随机推荐
- 理解面向对象编程---C#控制台实现52张扑克牌的分法
52张牌随机分给4个玩家,要求每个玩家的牌用一个一维数组表示. 我们采用模拟大法.初始化一副扑克牌,洗牌,发牌. using System; using System.Collections.Gene ...
- PostgreSQL配置文件--连接和认证
1 连接和认证 CONNECTIONS AND AUTHENTICATION 1.1 连接 CONNECTIONS 1.1.1 listen_addresses 字符型 默认: listen_addr ...
- iOS:App上架流程和支付宝支付流程
App上架大致流程: 1.花99美元在苹果开发中心注册一个开发者账号: 2.登陆开发者账号,进入member Center,即开发者成员中心: 3.选取证书标示符(certificates Ident ...
- windows下硬盘的逻辑结构
共有五部分组成: MBR:主引导分区(硬盘启动记录) DBR:DOS启动记录 FAT: 文件分配表 DIR:根目录区 DATA:数据区
- crontab 写入文件目录
一.crontab 目录 [root@next-cloud-server etc]# cd /var/spool/cron/ [root@next-cloud-server cron]# ls roo ...
- mipmap of unity
遇到个奇怪的事情 mipmap generation 0级不压缩 1级 4个合1个 在unity里面 明显开了 mipmapgenerate之后 level0变糊了 ================ ...
- webpack配置:打包第三方类库、第三方类库抽离、watch自动打包、集中拷贝静态资源
一.打包第三方类库 下面说2种方法: 第一种: 1.引入jQuery,首先安装: npm install --save-dev jquery 2.安装好后,在index.js中引入,用jquery语法 ...
- PHP性能优化大全
第一章 针对系统调用过多的优化 我这次的优化针对syscall调用过多的问题,所以使用strace跟踪apache进行分析. 1. apache2ctl -X & 使用-X(debug)参 ...
- 通过案例对SparkStreaming透彻理解三板斧之二
本节课主要从以下二个方面来解密SparkStreaming: 一.解密SparkStreaming运行机制 二.解密SparkStreaming架构 SparkStreaming运行时更像SparkC ...
- [Android]一些设计细节
1. 图标 图标分为:Launcher 图标(程序图标),ActionBar 图标(菜单图标),Contextual 图标(嵌入的小图标)以及Notification 图标(通知栏图标).每种图标都有 ...