读书笔记——kinect应用开发实践——sdk基础和交互设计(2)

kinect for widowns SDK基础和交互设计

 SDK基础

书中使用的是kinect for widowns SDK v1.5。它的核心是NUI API,提供了:图像数据流、深度数据流、音频数据流、骨骼跟踪、语音识别(不支持中文)等API。

一、api使用流程如下:

1、获取kinect.

     一台电脑可以连接4个kinect,所要sdk要获取一个可用的kinect,Linq代码如下:

    KinectSensor sensor=(from sensorToCheck inKinetSensor.KinectSensors

    where sensorToCheck.Status == KinectStatus.Connected

                                                    select sensorToCheck).FirstoORDefault();

  2、 调用KinectSensor.Start;连接到kinect.  

  3、注册获取数据的事件.

        KinectSensor.ColorFrameReady    //获取视频流事件

        KinectSensor.DepthFrameReady   //获取深度流事件

        KinectSensor.SkeletonFrameReady   //获取骨骼跟踪事件 ,这个会大大加重cpu的占有率。

        KinectSensor.AllFrameReady  //一次获取以上三个流的事件

4、KinectSensor .Stop  //关闭kinect

二、数据格式

1、深度流是一系列深度图像组成,每一张深度图像中的一个像素点是由2个字节。2个字节就是16位,   左边13位是红外接收器与最近物体的距离,以mm为单位。 右边3位表示用户索引编号,其值从000-111(0-7),000表示没有用户,kinect sdk最多支持6个用户,并为这些值定义了堂量,DepthImageFrame.PlayerIndexBitmaskWidth(实际值为3),DepthImageFrame.PlayerIndexBitmask(实际值为7,用于位运算),使用时要使用常量。

上面只要将用户编号不为000的数据提取出来,就可以将用户提取出来了。


    


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值