c# - 在一台 PC 上使用多个 Kinect v2

标签 c# kinect-sdk kinect-v2

我目前正在尝试使用多个 Kinect v2.0 作为我论文的一部分。我仔细研究了这个主题,我知道 USB 带宽的问题,所以我目前使用的两个 Kinect 位于不同的 USB Controller 上。

我遇到的问题是,作为 GetDefault() 函数 (2.0 SDK) 的一部分,顾名思义,它只是获取默认的 Kinect。有没有办法确定要“获取”哪个 Kinect 或确定哪个 Kinect 是“默认”? (我知道 SDK 只允许一个,但我正在探索让一个单独的应用程序处理每个 Kinect 的想法)。

提前感谢您的任何意见。

最佳答案

使用 Microsoft SDK,您没有机会在一台 PC 上使用多个 Kinect2:

Sensor Acquisition and Startup
Kinect for Windows supports one sensor, which is called the default sensor. The KinectSensor Class has static members to help configure the Kinect sensor and access sensor data.

Kinect API Overview

我们尝试过类似的事情,但最终我们选择了客户端/服务器解决方案,其中额外的 Kinect 连接到客户端 PC。但是,即使在这里,如果在同一房间内使用这些 Kinect,您也需要小心 - 传感器可能会从其他发射器接收光! (参见此处,例如:Interference between multiple Kinects)。

在使用客户端/服务器解决方案时,您需要牢记的另一件事 - Kinect 不能很好地处理远程桌面连接:

Remote Desktop
If you are accessing the Kinect using Remote Desktop, You must change the remote desktop audio settings to "play on remote machine". If you do not do this, the runtime will not be able to see the audio device, and may disallow connection to the Kinect. (2.0 SDK and Developer Known Issues)

您可以选择的另一种方式是使用 OpenKinect ,它应该支持多个摄像头( hereherehere ,...)但这一切似乎也不太容易实现。此外,在我们的测试过程中,我们注意到使用官方 Microsoft SDK 或开源库时深度值不同,因为官方 SDK 中发生了很多黑盒魔法。

关于c# - 在一台 PC 上使用多个 Kinect v2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42394919/

相关文章:

windows - Kinect USB 3.0 经常重连

macos - 如何使用 libfreenect2 设置 OpenNI2 和 NITE 以在 OSX 上进行骨架跟踪?

c# - 至少一个对象必须实现 IComparable order by

c# - 尝试在 Visual Studio v15.8.4 中的 Entity Framework v6.2.0 中迁移数据库时出现异常

windows - kinect for windows V2.0 Developer Preview,相机工作,深度传感器不工作

opencv - 如何将 k4a_image_t 转换为 opencv 矩阵? (Azure Kinect 传感器 SDK)

c# - 在插件中注册服务前缀 - ServiceStack

c# - Asp.Net Mvc - 如何在共享 View 中有一个 "controller"

c# - 使用 Kinect 深度 View 显示人体内部的物体