我有两个kinect传感器连接在不同的USB控制器上。 如果我在两者上启用了骨架stream,当我在第二个传感器上调用启动方法时,出现exception:
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()
为什么我不能从两个kinetics骨骼跟踪?
PS我正在使用Kinect的Windows SDK 1.5
谢谢!
只是为了澄清:
也看看SDK中的一些例子。 在1.6 SDK中有一个名为“Kinect Explorer”的托管代码示例,它演示了如何安全地处理多个Kinect。
处理多个骨架不是一件容易的事情(如果你想检测一个来自kinect 1的用户是否是kinect 2中的同一个用户),你需要编写自己的逻辑。
如果您正在使用多个Kinect传感器,那么骨架跟踪只能在您初始化的第一个设备上运行(使用RuntimeOption进行骨架跟踪)。 要切换用于跟踪的设备,请取消初始化旧设备并初始化新设备。