OpenNI2-Kinect2Driver


微軟已經在日前開始發布新版 Kinect、Kinect for Windows v2 的開發者預覽版了~沒弄錯的話,由於 2.0 版的 SDK 和目前的 Kinect for Windows SDK 1.x 並不完全相容,所以並沒有辦法讓新版的 Kinect 直接在 OpenNI 2 的環境下使用。

而如果希望讓新版的 Kinect 可以在 OpenNI 2 的環境下被讀取到的話,現在有有網友有寫出針對 Kinect for Windows v2 Developer Preview 所開發出來的驅動程式模組了~這份檔案在

https://github.com/kaorun55/OpenNI2-Kinect2Driver

理論上,使用這個版本的驅動程式模組,就可以在 OpenNI 2 的環境下來讀取 Kinect for Windows v2 感應器的資料了~不過,他也是不能對應 PrimeSense NiTE 的。

原作者應該只有用 VisualStudio 2012 建置 x64 的版本,GitHub 上也可以找到建置好的 Kinect2.dll(連結);如果只是要使用的話,應該用這個檔案、取代掉本來的 Kinect.dll 就可以了。

而如果是希望自己建置的話,也可以參考 GitHub 頁面上的「Build」的章節,裡面有建置的說明;其流程大致上是:

  1. 複製一份 OpenNI 2.2 的原始碼(OpenNI2 v2.2.0.33 Source
  2. 使用 VisualStudio 2012 開啟方案、將專案的 toolset 更新到 v110
  3. 把 OpenNI2-Kinect2Driver 的 Kinect2 資料夾複製到「OpenNI2\Source\Drivers」、並將專案加入
  4. 把舊有的 Kinect 專案從方案中移除
  5. 建置

當然,由於他是去呼叫 Kinect for Windows SDK 來存取 Kinect 感應器的,所以必須要先有 Kinect for Windows SDK v2 Developer Preview 才能成功地建置、使用。


OpenNI / Kinect 相關文章目錄

對「OpenNI2-Kinect2Driver」的想法

    • 老實說,不能用的機會應該比較大…
      畢竟 MMD 用的是 OpenNI,而 OpenNI 1 不支援 Kinect 2、OpenNI2 對 Kinect2 的支援也不算好…

      • 我按照楼主的方案测试了,编译了 然后调用Niviewer.exe,仍然不能成功,不知楼主有什么方法能够使得kinectv2支持openni2

        • 請先確認 Kinect for Windows SDK v2 本身的範例可以正常運作,再嘗試 OpenNI2。
          不過現在應該很確定,NiTE2 沒辦法支援 Kinect for Windows v2 了,所以 MMD 是不可能動的。

          • 我测试过kinect2 sdk自身的示例是可以正常工作的,按照上边指示编译之后,总是出现设备找不到,想问还有可能是什么问题呢?

        • Heresy 自己沒什麼這樣玩。
          不過想到一個可能,就是 K4Wv2 初始化過慢,導致 OpenNI2 在搜尋裝置的時候逾時。
          要避免這個問題,建議先開一個 K4Wv2 的程式起來,等到確定有畫面後,再開啟 NiViewer 試試看。

發表留言

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料