C# 基于多个Kinect传感器的骨骼跟踪

C# 基于多个Kinect传感器的骨骼跟踪,c#,.net,kinect,kinect-sdk,kinect.toolbox,C#,.net,Kinect,Kinect Sdk,Kinect.toolbox,我正在尝试使用Kinect映射骨骼,并且可以看到该设备支持多达 然而,不幸的是,我目前只有一个传感器可供使用,因此,如果您连接了多个传感器,我无法确定SDK的行为 具体来说,数据是否合并到公开的API中?假设您正在使用处理问题的方法 private void Kinect_AllFramesReady(object sender, AllFramesReadyEventArgs e) { } 事件SkeletonFrame.SkeletonArrayLength是否增加到12,18,24 如何

我正在尝试使用Kinect映射骨骼,并且可以看到该设备支持多达

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

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

private void Kinect_AllFramesReady(object sender, AllFramesReadyEventArgs e)
{
}
事件
SkeletonFrame.SkeletonArrayLength
是否增加到12,18,24

如何访问每个传感器的不同
彩色图像帧
深度图像帧
?通常你可能会这样做

using (ColorImageFrame colorFrame = e.OpenColorImageFrame())
{
    //Write pixels
}
但我没有看到任何明显的方法来访问特定于设备的数据


在构建同时使用多个Kinect传感器的应用程序时,请对上述内容进行解释,并提供其他差异(如果有)的指导。每个Kinect传感器都可以有单独的绑定和事件

foreach (var sensor in KinectSensor.KinectSensors)
{
    if (potentialSensor.Status == KinectStatus.Connected)
    {
       //add binding and events.
    }
}
因此,这取决于您,您可以将事件绑定到同一个处理程序,并根据发送方确定如何处理它,但我认为您需要创建自己的逻辑,将数据绑定在一起

SkeletonArrayLength不会增加,因为它在每个SkeletonStream中是唯一的