kinect编程(一):初始化、启用kinect设备

Kinect有啥好玩的

1、通过骨骼追踪来识别和追踪运动的人。

2、通过深度数据来计算物体和传感器之间的距离。

3、通过声音和回声来捕捉声音确定声音的来源。

4、语音识别引擎可以识别命令语言,可以使程序变成声控的。

一、遍历和启动kinect

因为一个电脑最多支持4kinect,我们必须遍历找到这些kinect并启动这些设备。KinectSensor这个类就代表设备本身,当我们声明一个private KinectSensor sensor;的时候,静态属性KinectSensors会被填充系统上连接的Kinect设备。因为属性是静态的,只要程序运行,那么这个Kinects的集合就存在了。

private KinectSensor sensor;
  foreach (var potentialSensor in KinectSensor.KinectSensors) //所有支持foreach的集合类都继承IEnumerable接口
  {
    if (potentialSensor.Status == KinectStatus.Connected)
    {
      this.sensor = potentialSensor;
      break;
    }
  }

通过foreachKinects集合进行迭代,一旦发现已经是连接状态的,把这个Kinect存在私有字段中。因为KinectSensors是一个集合,也可以通过KinectSensor.KinectSensors[0]直接选取

二、初始化设置,启动何种数据流

找到连接设备后,下一步就是要输出数据流。数据流包括图像、深度 、骨骼、红外数据流。.

 if (this.sensor != null) //如果找到设备
{
    this.sensor.ColorStream.Enable(ColorImageFormat.RgbResolution640x480Fps30); //设置图像图像流输出,构造函数中是设置输出的格式。
    this.sensor.DepthStream.Enable(DepthImageFormat.Resolution640x480Fps30);
    this.sensor.SkeletonStream.Enable();
    this.sensor.ColorStream.Enable(ColorImageFormat.InfraredResolution640x480Fps30);
}

输出图像数据:KinectSensor包含ColorStream属性,返回的是 ColorImageStream类。通过调用Enable函数,初始化图像数据的格式,帧率和像素分辨率来让Kinect 输出图像数据。这些设置的初始值都在ColorImageFormat这个常量枚举中。Enable函数的默认值为RgbResolution640x480Fps30,它的意思是Kinect会输出RGB格式, 640x480分辨率,30帧每秒的图像。通过ColorImageFormat.RawBayerResolution640x480Fps30 也可以设置RAW格式的图片。

    输出深度流数据:KinectSensor包含DepthStream属性,返回DepthImageStream对象,通过调用Enable函数,初始化图像的格式、分辨率、帧率可以输出深度流数据。设置数据在DepthImageFormat常量枚举中。默认值是RgbResolution640x480Fps30

输出骨骼数据:KinectSensor包含SkeletonStream 属性,返回SkeletonStream对象,通过调用Enable来产生骨骼数据。

KinectSensor包含ColorStream属性,返回的是 ColorImageStream类。通过调用Enable函数,可以输出红外数据,还是在DepthImageFormat这个枚举常量中设置,设置成InfraredResolution640x480Fps30即可

三、启动设备

if (this.sensor != null)
{
    this.sensor.Start();
}

找到设备,设置启动数据流和图像格式后就可以,启动设备了。



  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值