多个Kinect传感器的骨架跟踪

时间:2014-04-22 16:06:34

标签: c# .net kinect kinect-sdk kinect.toolbox

我正在使用Kinect来映射骨架,并且可以看到该设备支持最新的4 sensors connected simultaneously

但遗憾的是,目前我只有1个传感器可供使用,因此,如果您连接了多个传感器,我不确定SDK的行为。

具体是在公开的API中合并数据?假设您正在使用处理

的方法
private void Kinect_AllFramesReady(object sender, AllFramesReadyEventArgs e)
{
}

事件SkeletonFrame.SkeletonArrayLength增加到12,18,24?

如何为每个传感器访问不同的ColorImageFrameDepthImageFrame?通常你可能会做这样的事情

using (ColorImageFrame colorFrame = e.OpenColorImageFrame())
{
    //Write pixels
}

访问相机,但我没有看到任何明显的方法来访问特定于设备的数据。

在构建同时使用多个Kinect传感器的应用程序时,对上述内容的解释和指导 - 如果有的话 - 其他差异非常重要。

1 个答案:

答案 0 :(得分:2)

每个KinectSensor都可以有单独的绑定和事件。

foreach (var sensor in KinectSensor.KinectSensors)
{
    if (potentialSensor.Status == KinectStatus.Connected)
    {
       //add binding and events.
    }
}

所以它取决于你,你可以将事件绑定到同一个处理程序,并根据发送者确定如何处理它,但你需要创建自己的逻辑,将数据绑定在一起我认为

SkeletonArrayLength不会增加,因为每个SkeletonStream都是唯一的。