两个kinects&来自他们两个的骨架流 - 可能吗?

时间:2012-06-19 09:14:32

标签: windows sdk kinect hresult

我有两个连接在不同USB控制器上的kinect传感器。如果我在它们两个上启用骨架流,当我在第二个传感器上调用start方法时会出现异常:

This API has returned an exception from an HRESULT: 0x830100AA

堆栈跟踪:

   at Microsoft.Kinect.KinectExceptionHelper.CheckHr(Int32 hr)
   at Microsoft.Kinect.NuiSensor.NuiInitialize(UInt32 dwFlags)
   at Microsoft.Kinect.KinectSensor.Initialize(SensorOptions options)
   at Microsoft.Kinect.KinectSensor.Start()

为什么我无法从两个运动中进行骨骼跟踪?

P.S。我正在使用Kinect for Windows SDK 1.5

谢谢!

2 个答案:

答案 0 :(得分:5)

只是为了澄清:

  • 从两个Kinects进行跟踪。 (使用Microsoft SDK 1.6测试)
  • 您需要做的是在单独的USB总线上连接Kinects。

另请参阅SDK中的一些示例。在1.6 SDK中,有一个名为“Kinect Explorer”的示例用于托管代码,它显示了如何安全地处理多个Kinect。

处理多个Skeletons并不是一件容易的事(如果你想检测kinect 1中的用户是否是kinect 2中的同一个用户),你需要编写自己的逻辑。

答案 1 :(得分:2)

如果您使用多个Kinect传感器,骨架跟踪仅适用于您初始化的第一台设备(使用RuntimeOption进行骨架跟踪)。要切换用于跟踪的设备,请取消初始设备并初始化新设备。