Kinect for Windows v2 C++ 程式開發


本文是整理中的 Kinect for Windows v2 的 C++ 程式開發的索引頁。之後有更新會把新的文章也加進來。

Kinect Fusion

Visual Gesture Builder 工具

其他:

廣告

對「Kinect for Windows v2 C++ 程式開發」的想法

  1. Heresy您好
    我目前打算做兩台Kinect的動作辨識,想使用Kinect Studio錄製資料並再使用VGB建立資料庫來做動作辨識。我知道一台Kinect只能配一台電腦做使用,所以想請問兩台電腦的資料之間要如何做到呼應並且完成辨識動作?? 謝謝

    • K4W SDK 本身沒有提供對應的功能,所以如果要做,就是要自己寫、自己想辦法了。
      如果你是要用 VGB 的話,大概也只能在單台電腦做動作辨識後,再把多台電腦的結果彙整了。

      • 那不好意思再請教個問題,如果使用您的Gesture程式碼,那其中的test.gbd應該放在哪個資料夾呢??
        我的Kinect資料夾是在C槽,但礙於儲存空間問題,我想把錄製下來的gbd檔放在D槽,不知這樣還能否讀取?

          • 因為在您的Gesture程式碼中我看不到有任何指定gbd檔案位置的程式碼,所以那假如我把錄製好的檔案儲存在跟Kinect資料夾不同的槽中,這樣也是自動抓取它的位置嗎?
            還有我在跑的時候,有個問題是電腦缺少Kinect20.VisualGestureBuilder.dll,我嘗試把它放在windows\system中 不過還是有相同的問題,不知道該怎麼安裝這個dll檔?? 謝謝

          • 您好 不好意思再請問一下,在跑您的Gesture程式時,前面都沒有什麼問題,但到了要用AddGestures這指令時 就會出現"Add gestures failed",已經嘗試過把所有錄製下來的檔案都放進跟執行程式同一個資料夾中,不過還是抓取不到,不知道這樣問題出在哪裡?? 謝謝

          • 1. 如果是針對 VGB C++ API 的問題,麻煩之後請在對應的文章詢問
            https://kheresy.wordpress.com/2015/09/04/vgb-cpp-api/

            2. 建議可以自行檢查 AddGestures() 這個函式的回傳值,這樣可以有助於知道為什麼失敗。

            3. 請確認你有把所有必要的檔案複製到執行檔的所在路徑。在文章中有提到,「vgbtechs」這個資料夾也要。

  2. Heresy你好,我打算做一个用指尖控制鼠标的程序,现在先尝试学习用手掌来控制,但是网上的代码大多是C#或者OpenNI的,所以想请问一下利用SDK 2.0来做的话行不行?如果可以的话大概的思路应该是怎样的?谢谢回复。

    • 最簡單的方法,應該就是直接拿骨架的手部位置來用吧?
      只是看你要怎麼把她轉換到螢幕座標上而已。

      • 您好,又打扰了。现在我已经成功实现了指尖控制鼠标的功能,是基于BodyIndex的数据来实现的,我想把它和投影结合在一起,用它来直接在墙壁上操控投影,但是发现当手掌太靠近墙壁时,BodyIndex手掌部分的数据就消失了,似乎微软认为某个点要属于人体的话,它一定要和背景至少有二三十厘米的深度差。我想了一整天也没什么比较好的解决办法,请问您能给我些建议吗?谢谢!

        • 這個基本上是 K4W SDK 本身的演算法限制了。
          你如果是要這種應用,可能就不能使用他的分析系統,而需要自己去偵測了。

  3. 請問一下如果我用的Kinect是1414版的我試著用Kinect for Windows Runtime 2.0結果無法驅動我用1.8版可以驅動但是我需要Kinect.h這個標頭檔請問有啥好的解決方法

    • 第一代 Kinect 感應器請搭配第一代的 Kinect for Windows SDK 使用,兩者是不相容的。
      而 SDK 的 API 基本上也完全不相同,請另外找 v1 的教學參考。

  4. Heresy您好,目前我在觀看您的blog學習kinect各種用法
    我現在想完成的是多台kinect擷取目標之後輸出一個資料
    有點類似3D建置那樣
    不知道能不能給我點建議??
    比如說是用kinect SDK哪些功能可以完成此項動作
    謝謝

    • Kinect for Windows v2 並不支援單機多台感應器,所以你如果要做,基本上就得多電腦透過網路串連。
      再來,主要的問題就是兩台之間的對位能算多準了。

  5. 请教一下博主,Kinect 2.0中能否将深度图转化成类似于XYZRGB格式的点云数据啊?如何转化呢?

      • Heresy您好,现在我可以实时拿到3D的人脸点云数据,也可以将侧脸进行矫正,但是如果从多角度获取的点云,想融合成一幅完整的人脸3D点云图,不知道博主有没有什么建议呢?网上看过很多用ICP算法将两幅点云图进行配准,但是不清楚ICP是否适用于我这个场景?

        • 基本概念就是要把兩個不同的視角對齊,計算出相對位移後放到一起。
          至於要用哪種方法來計算,就看自己試過覺得哪種方法合適了。

  6. 想請問一下
    現在有沒有辦法同時使用2台甚至是3台Kinect V2在同一台電腦上呢??
    好像會受到USB帶寬的限制

  7. 你好,不知道有没有关于Kinect人脸方面的博客呢?想单独提取人脸部分的深度信息,但是不知道该怎么着手。

  8. heresy您好!
    kinect v2 有可以偵測五隻手指的功能,微軟稱它handpose
    但我只找到相關影片,沒有相關程式的sample,不知您有無研究這方面呢
    謝謝您^^

  9. 想請問你有在研究HDface的功能嗎
    我在做的過程中一直碰到
    0x5C7AAC00 (Kinect20.Face.dll) (於 1016opencvTest.exe) 中發生未處理的例外狀況: 0xC0000005: 讀取位置 0x139DDE9D 時發生存取違規。
    這樣子的問題

      • 謝謝你的回覆,請問能否給我看看您的程式碼嗎~
        對了,我主要是只想偵測一個臉部而已,不知道會不會因此產生問題?

    • 麻煩請先確認官方範例程式在自行建置的情況下,可以正常運作。
      或是確認你找到的範例程式,是否有加上錯誤偵測?如果有的話,應該是要可以用來判斷哪裡出問題的。
      或者,另一個考量,就是直接使用 VisualStudio 的偵錯功能,來確定到底死在那裡。

    • 抱歉,不過不知道您是想做哪方面的交流?是期望可以合作?還是?
      另外,Heresy 這邊其實不是在研究多媒體方面的,而是比較偏學術方面的。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

w

連結到 %s