使用多个Kinect传感器进行骨骼跟踪

本文关键字:跟踪 传感器 Kinect | 更新日期: 2023-09-27 17:59:26

我正在尝试使用Kinect绘制骨骼图,可以看到该设备最多支持4个传感器同时连接。

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

具体来说,数据是否合并在公开的API中?假设您正在使用处理的方法

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

事件SkeletonFrame.SkeletonArrayLength是否增加到12、18、24?

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

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

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

在构建同时使用多个Kinect传感器的应用程序时,对以上内容的解释以及对哪些(如果有的话)其他差异的理解非常重要的指导将不胜感激。

使用多个Kinect传感器进行骨骼跟踪

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

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

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

SkeletonArray长度不会增加,因为它是每个SkeletonStream唯一的。