ps0:从暑假开始接触Kinect相关编程开发,到现在有些日子了(虽然中途可能干其他事去了),所以感觉知识有些地方还不是很扎实,所以写这一系列博客,一方面调理一下自己已经掌握的一些知识,另一方面也继续学习这方面的知识权当那博客当记文档了。当然这一系列博客是写给刚刚入门的童鞋看,本人也非大神,大家一起学习,交流。当然有这方面大神不小心看到了博客本人也欢迎批评指导。废话就说到这,果断搞起!!!
ps1:如果下面的几个问题您能都知道,请您绕行,我是菜鸟,只做自己的学习笔记!!!
(这样的开头是学习最近一直在看的博客,在此用这种方式向这位博主的认真致敬!)
1.体感开发是用OpenNI还是Kinect For Windows?
2.Kinect For Windows 应用层API包含三大组件?
3.对NUI中的两个不得不知道的两个概念数据流和骨骼跟踪?
4.比较获取数据流的两种方式?
5.骨骼跟踪对象的选择两种方式?
一.体感开发是用OpenNI还是Kinect For Windows对比?
OpenNI | Kinect For Windows | |
作用系统 | 跨平台,支持Windows、MacOsX Ubuntu、Android | 能用于Win7及以后的Windows系统 有平台限制 |
开发环境 | 以C为主提供C++ Net Java | C++、C#、VB |
授权方式 | 开源、NITE免费用 | 需要Kinect For Windows专用硬件 |
支持的硬件 | Micsoft Kinect for Xbox360 AXUS Xtion Pro/Pro Live | Micsoft Kinect for Xbox360 Micsoft Kinect for Windows |
支持感应器 | 深度影像、彩色影像、红外线影像、声音 | 深度影像、彩色影像、声音 |
追踪人数 | 无人数限制 | 最多6个(只是用户的中心位置跟踪) 两个人的骨架 |
骨架关节数 | 15 | 20 |
手势侦测 | 4种手势 | 无 |
姿势侦测 | 6种姿势 | v1.7之前无 v1.7增加了两个 |
手部追踪 | 有 | 无 |
声音 | 懂可取原材料 | 完整的处理功能可进行杂音抑制 消除回音,来源方向判断 |
语音识别 | 无 | 可搭配Micsoft Speech |
视角控制 | 无 | 可控制Kinect的马达 |
二.Kinect For Windows 应用层API包含三大组件?
应用层API包含三大组件:NUI API、KinectAudioDMO、WindowsSpeechSDK。
1.NUI API是Kinect的核心API它支持:
。 Kinect传感器与计算机的连接、访问、 关闭
。访问从Kinect传感器上传输的彩色图像和深度图像数据流
。通过图像和深度数据的处理来进行骨骼跟踪
2.Kinect Audio DMO:
。提供波束成形和音源定位功能
3.Windows Speech SDK:
。提供音频、语音、多媒体API以及微软语言识别功能。(但目前貌似不支持中 文。)
三.对NUI中的两个不得不知道的两个概念数据流和骨骼跟踪?
1.数据流
NUI 中比较重要的一个概念-数据流:
。 彩色数据流(Color Data)
。用户分割数据流(Player Segmentation Data)
。深度图像数据(Depth Data)
2.NUI 中比较重要的另一个概念-骨骼跟踪(三分之一的类与结构与他有关)
。当设定“骨骼跟踪”后Kinect只能“跟踪”两个用户,获得“维特鲁人”20个关节点的三 维坐标;
。目前Kinect SDK支持手指跟踪相关API但一些第三方开发包提供了。。。
四.比较获取数据流的两种方式?
获取数据流的两种方式:轮询(拉)模型(Polling Model)、事件模型 (Event Model)
注意:不能对同一数据流同时使用这两种模式。
五.骨骼跟踪对象的选择两种方式?
骨骼跟踪对象的选择两种方式:自动选择和手动选择
自动选择
AppChoosesSkeletons属性值设为false,引擎将会选择两个可能的用户进行骨骼跟踪,其他的用户进行位置跟踪。
手动选择
AppChoosesSkeletons属性值设为true,然后调用ChooseSkeletons,传入被跟踪者的ID,ID个数可以是0,1,2个.