2017-02-22 29 views
2

我目前正嘗試使用多個Kinect v2.0作爲我論文的一部分。我在這個問題上四處看了一下,我知道usb帶寬的問題,所以我目前使用的兩個Kinect在不同的usb控制器上。在一臺PC上使用多個Kinect v2

我遇到的問題是,作爲GetDefault()函數(2.0 SDK)的一部分,顧名思義,它只是獲取默認的Kinect。有沒有辦法確定哪個Kinect'獲得'或確定哪個Kinect是'默認'? (我知道SDK只允許使用一個,但是我正在探索一個單獨的應用程序處理每個Kinect的想法)。

在此先感謝您的任何意見。

回答

1

使用微軟SDK你沒有機會在一臺PC上使用多個Kinect2:

傳感器採集和啓動
的Kinect for Windows支持一個傳感器,這就是所謂的默認傳感器。 KinectSensor類具有靜態成員來幫助配置Kinect傳感器和訪問傳感器數據。

Kinect API Overview

我們嘗試了類似的事情,但最終我們與客戶端/服務器解決方案,額外Kinects連接到客戶端PC解決。但是,即使在這裏,如果在同一個房間內使用這些Kinect,也需要小心 - 傳感器可能會從其他發射器接收光線! (這裏參見例如:Interference between multiple Kinects)。

你的客戶機/服務器的解決方案工作時需要記住的另一件事 - 在Kinect的不處理遠程桌面連接得非常好:

遠程桌面
如果您正在訪問Kinect的使用遠程桌面,您必須將遠程桌面音頻設置更改爲「在遠程計算機上播放」。如果您不這樣做,則運行時將無法看到音頻設備,並且可能會禁止連接到Kinect。 (2.0 SDK and Developer Known Issues

另一種方式,你可以選擇是使用OpenKinect,這是爲了支持多個攝像頭(hereherehere,...),但是這一切似乎並不那麼容易實現了。另外,在我們的測試中,我們注意到使用官方Microsoft SDK或開源庫時深度值不同,因爲官方SDK中存在大量黑盒魔術。

0

您是否考慮過在您的計算機上並行運行虛擬機?只要虛擬機忽略其中一個動態鏈接所在的USB端口,虛擬機就會被迫使用另一個。

這可能需要更多的處理能力,而不僅僅是插入它們,但它應該工作,特別是如果你正在嘗試將它們用於兩個不同的程序。

0

僅適用於虛擬機的Kinect for windows(不包括適用於xbox one的kinect和適用於帶適配器的360的kinect)