我正在使用Kinect来映射骨架,并且可以看到该设备支持最新的4 sensors connected simultaneously。
但遗憾的是,目前我只有1个传感器可供使用,因此,如果您连接了多个传感器,我不确定SDK的行为。
具体是在公开的API中合并数据?假设您正在使用处理
的方法private void Kinect_AllFramesReady(object sender, AllFramesReadyEventArgs e)
{
}
事件SkeletonFrame.SkeletonArrayLength
增加到12,18,24?
如何为每个传感器访问不同的ColorImageFrame
或DepthImageFrame
?通常你可能会做这样的事情
using (ColorImageFrame colorFrame = e.OpenColorImageFrame())
{
//Write pixels
}
访问相机,但我没有看到任何明显的方法来访问特定于设备的数据。
在构建同时使用多个Kinect传感器的应用程序时,对上述内容的解释和指导 - 如果有的话 - 其他差异非常重要。
答案 0 :(得分:2)
每个KinectSensor都可以有单独的绑定和事件。
foreach (var sensor in KinectSensor.KinectSensors)
{
if (potentialSensor.Status == KinectStatus.Connected)
{
//add binding and events.
}
}
所以它取决于你,你可以将事件绑定到同一个处理程序,并根据发送者确定如何处理它,但你需要创建自己的逻辑,将数据绑定在一起我认为
SkeletonArrayLength不会增加,因为每个SkeletonStream都是唯一的。