手動切換 Kinect 的驅動程式(for OpenNI 1.* & Microsoft Kinect SDK 1.7)
微軟最近推出了最新版的 Kinect SDK ,能夠實現實時的 Kinect Fusion,並提供了豐富的手勢互動功能,對體感互動開發人員的吸引力越來越大。而 OpenNI 2.0 以上的版本也轉為使用微軟官方的 Kinect 驅動,也顯示了 Kinect 驅動一體化的大趨勢。不過目前大部分 Kinect 開發程式還是基於 OpenNI 1.* 的舊版本,要遷移到 OpenNI 2.0 工作量非常大。這裡給出一種 OpenNI 和 Kinect SDK 共存、能夠手動切換驅動程式的方法,滿足大家在兩種平臺上進行體感開發的需求:
注意:以下的操作是基於 Windows 7 系統進行的.
一、安裝驅動
1. 首先假設你已安裝了OpenNI 1.* 版本。
如果沒有,可從以下連結中下載安裝:
1.1 OpenNI 和 Nite :http://www.openni.org/openni-sdk/openni-sdk-history-2/#.UWJ83YOqaSo
1.2 SensorKinect:https://github.com/avin2/SensorKinect (注意要和 OpenNI 的版本對應)
2. 解除安裝Primesense驅動。注意這裡並不需要解除安裝 OpenNI。
開啟“裝置管理器”,展開“PrimeSense”列表,依次解除安裝 Kinect Audio、Camera 和 Motor,注意要勾選“刪除此裝置的驅動程式軟體”。
3. 安裝微軟官方的 Kinect 驅動:http://www.microsoft.com/en-us/kinectforwindows/develop/developer-downloads.aspx (包括 SDK 和 Developer Toolkit)
完成後就可以看到 Kinect for Windows
二、切換驅動程式
1. 從 Kinect for Windows 驅動切換到 Primesense 驅動
因為我們在 OpenNI 開發中一般只需要用到 Kinect 的 Camera,而 Audio 和 Motor 部分 OpenNI 並沒有相應的功能。因此在切換驅動程式時,只需切換 Camera 的部分即可。
1.1 更新驅動程式。展開“裝置管理器”中“Kinect for Windows”列表,右擊“Kinect for Windows Camera”,選擇“更新驅動程式軟體”
1.2 選擇“瀏覽計算機以查詢驅動程式軟體”
1.3 因為SensorKinect不具有官方認證的數字簽名,所以不能直接從下圖上方瀏覽計算機驅動程式來更新驅動。應該點選下方的“從計算機的裝置驅動程式列表中選擇”:
1.4 然後選擇“從磁碟安裝”
1.5 點選“瀏覽”,選擇你的 Primesense 驅動安裝目錄,預設的是 “C:\Program Files\PrimeSense\SensorKinect\Driver”。選擇裡面的 inf 檔案,然後“確定”。
1.6 這時就會看到 Kinect Camera 的型號,並且提示“這個驅動程式沒有經過數字簽名”,這個沒有關係。點選“下一步”進行驅動更新。
1.7 如果彈出安全提示,則選擇“始終安裝此驅動程式軟體”。
1.8 完成後就可以在裝置管理器中看到 Kinect Camera 了。不過應該是顯示 Primesense 的,我這裡卻顯示 Kinect for Windows。
2. 從 Primesense 驅動切換到 Kinect for Windows 驅動
2.1 類似地,在裝置管理器中右擊“Kinect Camera”,選擇“更新驅動程式軟體”。
2.2 因為 Kinect for Windows 是微軟的官方驅動,這裡就可以直接選擇“自動搜尋更新的驅動程式軟體”,系統會自動裝上 Kinect for Windows 驅動。
注意這裡可以禁用系統聯網查詢驅動程式來加快速度。具體地,先開啟 控制面板 - 硬體和聲音 - 裝置和印表機,點選視窗上方的提示條,選擇“開啟裝置安裝設定”,然後選擇“從不安裝來自……”:
2.3 現在已經成功切換回 Kinect for Windows Camera 了。