Kinect windows 构架

NUI API

NUI API 初始化

NUI 图像数据流概要

NUI 骨骼轨迹

NUI 转换

Kinect windows 构架

SDK提供了丰富的类库及工具帮助开发者使用kinect接收的数据:对真实世界事件的感应和反馈。

Kinect及相关类库与开发者应用程序的关系如图1所示:

图1.应用程序和Kinect的交互

SDK的结构如图2所示:

图2.SDK架构

SDK包含以下部分:

Kinect硬件

硬件包括传感器、连接计算机的usb集线器

Kinect驱动

kinect windows驱动,随SDK安装包一同安装,kinect驱动支持:

kinect麦克风组,开发者可通过标准音频API直接访问其内核态音频设备。

图像及深度数据流

设备枚举功能,开发者可通过其访问连接在计算机上的多个kinect传感器。

Kinect音频DirectX媒体对象(DMO)

kinect DMO扩展了麦克风组,提供波束形成及声源定位功能。

windows7标准API

音频、语言、多媒体API

NUI API

NUI API是kinect核心API,支持基本的图像和设备管理功能:

访问连接到计算机的kinect传感器

访问来自传感器的图像及深度数据流

提供处理后的图像及深度数据支持骨骼追踪

SDK提供了SkeletalViewer示例的C++及C#版本。SkeletalViewer展示了应用程序中如何使用NUI API 捕获来自NUI摄像头的数据,使用骨骼图像,处理感应数据。详情参见SDK网站上的“Skeletal Viewer Walkthrough”。

NUI API 初始化

kinect驱动支持单计算机多传感器连接。NUI API包括枚举功能,方便开发者确定多少个传感器连接至计算机,获取特定传感器的名称,独立操作每台传感器的打开及流数据特性设置。

尽管SDK支持应用使用多台kinect传感器,但应用在同一时间只能使用其中一台传感器。

传感器的枚举和访问

C++及托管应用通过以下方式枚举已连接的传感器,打开传感器,初始化NUI API:

C++应用使用单台kinect传感器,并初始化NUI API

调用 NuiInitialize:该方法初始化连接到计算机的首个Kinect实例。

调用NUI的其他功能方法处理图像流、骨骼数据及摄像头管理。

结束使用Kinect时调用NuiShutdown。

C++应用使用多台kinect传感器,并初始化NUI API

调用NuiGetSensorCount确定连接的传感器数量。

调用NuiCreateSensorByIndex创建应用使用的每个传感器的实例,该方法返回指向实例的INuiSensor接口指针。

调用INuiSensor::NuiInitialize初始化NUI API。

调用INuiSensor接口的其他功能方法处理图像流、骨骼数据及管理传感器。

结束使用某个Kinect时,在该实例上调用INuiSensor::NuiShutdown关闭NUI API

受管应用使用单台或多台kinect传感器,并初始化NUI API

通过KinectSensor类访问sensor。

KinectSensor sensor = (from sensorToCheck in KinectSensor.KinectSensors where sensorToCheck.Status == KinectStatus.Connected select sensorToCheck).FirstOrDefault();

调用 KinectSensor.Start 方法初始化NUI API。

调用托管接口的其他方法处理图像流、骨骼数据及管理传感器。

结束使用Kinect时调用KinectSensor.Stop

初始化选项

NUI API通过多步骤类似管道的方式处理来自Kinect的数据。初始化期间,应用需指定使用的子系统以便运行时可以打开申请的管道。应用可以选择一个多个下述选项:

色彩:来自传感器的彩色图像数据

深度:来自传感器的深度图像数据

深度及玩家序号:传感器的深度数据及骨骼追踪引擎生成的玩家序号

骨骼:骨骼位置数据

上述选项决定了数据流类型及分辨率,如果应用没有在初始化时要求使用深度,后续处理过程将不能打开深度流。

Kinect NUI 概述(一)相关推荐

  1. Kinect 动作识别组件概要设计

    这是数年前在一个公司做的:Kinect手势识别的一个DLL,供其他应用开发调用. 这是概要设计文档.可以了解Kinect技术,以及作为文档写作的参考.代码恕不能提供. Kinect 动 作 识 别 组 ...

  2. 体感(Kinect)开发要点总结一

    体感(Kinect)开发要点总结一 Kinect有两类摄像头,近红外摄像头和普通的视频摄像头.视频摄像头提供了一般摄像头类似的彩色影像.       Kinect的彩色摄像头默认每秒产生30副Colo ...

  3. kinect二次开发_Kinect for Windows SDK开发初体验(二)操作Camera

    作者:马宁 Kinect SDK出来之后,不到24小时,很多Geek们已经将自己的示例发布到网上去了.可见,好东西肯定会被大家认可的,不好的东西投入再多的宣传也没用. 这一篇我们就要正式进入Kinec ...

  4. 通过COM组件在Web上实现Kinect骨骼追踪、声控截屏保存的功能

    前些天在淘宝上订购了Kinect,刚刚到货,对于这个新鲜的玩意儿,自己赶紧卸开包裹,插上PC机,先前已经装好了Kinect SDK(官方下载地址:http://research.microsoft.c ...

  5. Kinect for Windows SDK开发初体验(二)操作Camera

    Kinect SDK出来之后,不到24小时,很多Geek们已经将自己的示例发布到网上去了.可见,好东西肯定会被大家认可的,不好的东西投入再多的宣传也没用. 这一篇我们就要正式进入Kinect的编程世界 ...

  6. 2014年个人工作总结

    2014年的日常工作,从技术支持岗位调到市场.社区岗位上:日常技术处理工作变为博客.微信.微博.市场活动策划.发送奖品等.如果以此为界:即毕业10年内的主要是软件研发.团队管理.项目管理:第二个十年开 ...

  7. Kinect应用开发实战:用最自然的方式与机器对话

    <Kinect应用开发实战:用最自然的方式与机器对话> 基本信息 作者: 余涛 出版社:机械工业出版社 ISBN:9787111400929 上架时间:2012-11-6 出版日期:201 ...

  8. Open3d 学习计划—13(Azure Kinect)

    该文章为转载内容,请关注文章作者博客https://blog.csdn.net/io569417668 Open3D是一个开源库,支持快速开发和处理3D数据.Open3D在c++和Python中公开了 ...

  9. Kinect 骨骼追踪数据的处理方法

    http://www.ituring.com.cn/article/196144 作者/ 吴国斌 博士,PMP,微软亚洲研究院学术合作经理.负责中国高校及科研机构Kinect for Windows学 ...

最新文章

  1. 拖拽公式图片、一键转换LaTex公式,开源公式识别神器
  2. 杭电多校(三)2019.7.29--暑假集训
  3. iOS开发UINavigation系列四——导航控制器UINavigationController
  4. JS知识点笔记-常用方法
  5. Java知多少(4)J2SE、J2EE、J2ME的区别
  6. 惠普10亿美元锻造Helion云品牌
  7. MVP群聊某美国公司的应聘试题(压死九个还是一个)
  8. java设计模式迭代器模式_Java中的迭代器设计模式–示例教程
  9. 计算机网络中使用最广泛的交换技术是什么,04741计算机网络原理试题及答案201604...
  10. Android 系统(55)---Android App开发之ANR异常的原因分析及处理总结
  11. python 3全栈开发-面向对象之绑定方法(classmethod与staticmethod的区别)、多态、封装的特性property...
  12. 《WF本质论》第一章OpenSesame我的实现
  13. JDBC与MySQL练习
  14. js获取当前日期yyyymmdd
  15. 基于java的毕业论文设计的题目_关于java的论文题目_基于java的毕业设计题目_有创意的java毕业设计题目...
  16. echart坐标轴添加下划线问题
  17. Python初学者:输入若干个正整数,升序后输出
  18. 个人虚拟化集群搭建教程
  19. 蒙特卡洛模拟最牛的地方在哪里呢?
  20. 谈谈Gameplay,以及UE4的Gameplay框架

热门文章

  1. vscode全部快捷键
  2. 21.revoke的用法——收回权限
  3. Win10基于python,spleeter 人声提取工具安装和使用(全网最全,超详细)
  4. Linux系统调用指南
  5. element table手动实现自定义筛选(手动实现)
  6. Q:C#命名空间不能直接包含字段或方法之类的成员
  7. mysql 存储过程 表名_MySql存储过程中执行动态SQL(表名是变量)
  8. 目前市面上的单片机操作系统很多,为何FreeRTOS会这么抢眼
  9. Java 去除aspose-cells生成的pdf文件中水印文字
  10. Standard ML快餐教程(1) - 初识