2

我有两个连接在不同 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()

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

PS 我正在使用 Kinect for Windows SDK 1.5

谢谢!

4

2 回答 2

5

只是为了澄清:

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

还可以查看 SDK 中的一些示例。在 1.6 SDK 中有一个名为“Kinect Explorer”的托管代码示例,它展示了如何安全地处理多个 Kinect。

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

于 2012-11-22T08:54:10.820 回答
2

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

于 2012-06-19T17:44:36.033 回答