OpenNI 2 & NiTE 2 課程投影片與範例


在去年,Heresy 曾經在幾個地方開過 OpenNI 1 的課程,後來也有將自己編製的投影片與範例程式放出來,有興趣的可以參考《3D 體感應用研習工作坊 課程投影片與範例程式》這篇文章。

而在去年年底,OpenNI 推出 2.0 版後,Heresy 除了開始研究、並寫部落格文章外,一樣也有在進行教材的規劃。而目前雖然還沒有舉辦過公開的課程,不過實際上教材已經算是準備到一個段落、並有在兩所大學的課程使用了。

目前 Heresy 把投影片和範例程式的檔案都放在:

https://1drv.ms/f/s!Al8B-ey4Dwfg7X_yCGA9ixuBmtDB

如果有需要的話,應該可以參考看看了~基本上,因為教材的部分大多都是比部落格文章晚寫的,所以理論上會更完整、更正確。 :p

除了 OpenNI 1 和 OpenNI 2 本身的差異外,和之前的教材一個比較大的不同,在於範例程式的部分,Heresy 放棄了比較繁瑣、檔案很多的 Qt,而改採用相對簡單的 OpenCV,來做為 2D 上顯示的函式庫。

所以,這個版本的教材,主要就是:

  • 以 Windows + Visual C++ 2010 / 2012 為開發環境
  • 以 OpenCV 與 OpenGL(freeglut)為圖形、互動的介面
  • 針對 OpenNI 2.x、PrimeSense 2.x 的基本使用進行說明

目前的課程目錄,大致上是:

  • 體感操作與深度感應器
  • OpenNI
    • OpenNI 簡介
    • OpenNI 安裝與基本設定
    • OpenNI 基本範例
    • OpenNI 設定
  • NiTE
    • NiTE 簡介
    • NiTE UserTracker
    • NiTE HandTracker
  • OpenNI
    • 錄製、撥放與裝置管理
  • 體感軟體開發的注意事項

不過,之後也可能會視狀況再做修改、調整。

而範例程式的部分,如果要使用的話,也請先參考 readme.docx 這個檔案,裡面有針對檔案結構、以及使用前需要做的設定做說明。

另外,由於 Heresy 目前也還在斷斷續續地進行教材的修改,所以不管是投影片或示範例程式,可能不時地會有更新;如果想知道有那些東西被修改、改了哪裡,就請參考各自的 readme 文件,這次 Heresy 會比較詳細地去記錄更新歷程,以利大家追蹤。

至於今年會不會有對外公開的課程?個人是希望有啦~但是目前還沒定案。如果真的有舉辦課程的話,到時候的內容,基本上就會是以這份教材為主。如果大家對教材的內容、編排有任何建議、或是發現有任何錯誤、問題的話,也都歡迎於本文下方留言、來提供你的想法。

最後,這份教材基本上 Heresy 是基於知識分享的理念把他公開了,不過如果要拿來使用的話,也麻煩先知會 Heresy 一下。


OpenNI / Kinect 相關文章目錄

對「OpenNI 2 & NiTE 2 課程投影片與範例」的想法

  1. Hi, 您好:
    冒昧詢問有關NiTE2問題。
    今年Apple買了Primesense後,
    關掉了OpenNI
    因目前需用到NiTE2之功能,
    請問哪裡有提供NiTE2安裝。
    謝謝

    • 在 PrimeSense 關閉官網後,基本上就沒有可以正式下載的地方了。
      而礙於其授權協議,其他人也不能自行散佈;如果真的需要,基本上只能靠網路上的非正式備份了。
      參考: http://wp.me/p15GE3-46u

  2. 請教一下
    我在試openni+opencv的時候會出現
    錯誤 1 error LNK2019: 無法解析的外部符號 “public: __cdecl cv::Exception::Exception(int,class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class std::basic_string<char,struct std::char_traits,class std::allocator > const &,int)" (??0Exception@cv@@QEAA@HAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@00H@Z) 在函式 “public: __cdecl cv::Mat::Mat(int,int,int,void *,unsigned __int64)" (??0Mat@cv@@QEAA@HHHPEAX_K@Z) 中被參考
    這是因為opencv的關係嗎?
    還有有沒有甚麼書是可以推薦給初學者學習參考用
    謝謝

    • 你的問題應該是你沒有去 link OpenCV 的 lib 檔。
      基本上,建置程式的 link error,大多都是沒有設定 lib 檔、或是設定錯誤造成的。

      至於初學者的書籍,Heresy 沒有研究就是了。

  3. 太有用了!!因為網路上的學習資源不算多!!
    目前還是會先針對WINDOWS的開發介面進行~~

    • Heresy 這邊的範例雖然沒測試過,但是理論上都是標準語法,在其他平台上應該也都可以正確編譯。

發表留言

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