体感编程系列(一)Kinect开发入门理论知识点概述

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个.

你可能感兴趣的:(Kinect开发理论知识)