本科毕业设计说明书 第 5 页
图 2。1 Kinect 外观
2。1。3 系统环境要求
1)操作系统: Windows 8 (x64)
Windows 8。1 (x64)
Windows 8 Embedded Standard (x64) Windows 8。1 Embedded Standard (x64) 2)开发环境:
All Visual Studio 2012, including Visual Studio 2012 Express (Microsoft Visual Studio 2012 Express)
Visual Studio 2013 Ultimate, Premium, Professional, and Express for Windows Desktop
3)硬件要求:
64 位(x64)处理器
4 GB Memory (or more) I7 3。1 GHz (or higher) 内置 USB 3。0 总线
支持 DirectX 11 的显卡(Intel HD 4000,AMD Radeon HD 6470M,NVIDIA Geforce 610m,AMD Radeon HD 6570)
A Kinect v2 sensor
2。2 Kinect 基本接口与使用方法
2。2。1 Kinect 数据源
Kinect 包含以下 6 种数据源:
第 6 页 本科毕业设计说明书
1)ColorFrameSource:即彩色图像,分辨率为 19201080,获取速率为 30 或 15 帧/秒, 可以有数种格式,例如 Rgba,Yuv,Yuy2 等。
2)InfraredFrameSource:即红外线图像,分辨率为 512 424,获取速率是 30 帧/秒, 每个像素有 16 比特。
3)DepthFrameSource:即深度图像,每一个像素为 16 比特,该数据代表的是以毫米为
单位的深度(红外)摄像头到该物体的距离,丈量的范围是 0。5 米到 4。5 米。 4)BodyIndexFrameSource:即人体索引,Kinect 用一个字节来代表当前深度坐标下该像
素的人体的编号。目前最大可以支持 6 人。
5)BodyFrameSource:即人体关节信息,测量的范围是 0。5 米到 4。5 米,帧数据是一个集
合,集合中为人体 25 个骨骼点,每个帧都含有骨骼点的三维坐标信息和方向信息,最多能支
持 6 个人体,获取速率为 30 帧/秒,而且可以辨别人的手势(目前只支持其中 2 人),人体 跟踪有以下三种状态:1。Not tracked;2。Inferred;3。Tracked。
6)Audio:即语音信息,本文不讨论。
2。2。2 获取并处理数据源
Kinect V2 获取并处理数据源的接口步骤如图 2。2 所示,本节根据每个步骤介绍一下 Kinect 的基本接口函数,由于本课题的系统后台是用 C#编写,所以该节的代码都是 C#代码。
图 2。2 Kinect V2 获取并处理数据源步骤
1)The KinectSensor class:代表一个物理上的传感器硬件实体,一个应用程序可以调 用多个传感器,默认为一个。C#代码如下。
2)Sources:显示数据源的元数据并为阅读器(readers)提供获取途径,传感器为每个 数据类型提供一种数据源,如图 2。3 所示为获取传感器数据源的接口函数。
本科毕业设计说明书 第 7 页
图 2。3 获取传感器数据源的接口函数
3)Readers:提供了如下两种获取帧的途径:1。事件机制(出发模型);2。轮询机制(“拉” 模型)。同一个数据源可以创建多个阅读器(readers)并且阅读器可以被暂停,下面的 C# 代码为事件机制下获取帧的途径,并且为阅读器注册帧处理事件。文献综述
4)Frame references:是发送帧事件的参数,如下图所示,AcquireFrame()函数提供 了 获 得 实 际 帧 的 方 法 , RelativeTime 属 性 提 供 了 被 引 用 帧 的 时 间 戳 。 下 表 以 BodyFrameReference 类为例展示相关接口函数。