在一台PC上使用多个Kinect v2

问题描述 投票:2回答:3

我目前正在尝试使用多个Kinect v2.0作为我论文的一部分。我已经查看了这个主题,我知道usb带宽的问题,所以我目前使用的两个Kinect是在不同的usb控制器上。

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

提前感谢任何输入。

c# kinect-sdk kinect-v2
3个回答
1
投票

使用Microsoft SDK,您无法在一台PC上使用多个Kinect2:

传感器采集和启动 Kinect for Windows支持一个传感器,称为默认传感器。 KinectSensor类具有静态成员,可帮助配置Kinect传感器和访问传感器数据。

Kinect API Overview

我们尝试过类似的东西,但最后我们选择了客户端/服务器 - 解决方案,其中额外的Kinects连接到客户端PC。但是,即使在这里你需要小心,如果在同一个房间使用那些Kinects - 传感器可能从其他发射器获取光! (见这里,例如:Interference between multiple Kinects)。

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

远程桌面 如果使用远程桌面访问Kinect,则必须将远程桌面音频设置更改为“在远程计算机上播放”。如果不这样做,运行时将无法看到音频设备,并且可能不允许连接到Kinect。 (2.0 SDK and Developer Known Issues

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


0
投票

您是否考虑过在您的计算机上并行运行虚拟机?只是让虚拟机忽略其中一个kinects所在的USB端口,以便虚拟机被强制使用另一个。

这可能需要比插入它们更多的处理能力,但它应该工作,特别是如果你试图将它们用于两个不同的程序。


0
投票

Kinect for windows仅支持虚拟机,(不包括xbox one的kinect和带适配器的360的kinect)

© www.soinside.com 2019 - 2024. All rights reserved.