Kinect for Windows v2 C++ 程式開發


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

Kinect Fusion

Visual Gesture Builder 工具

其他:

54 Responses to Kinect for Windows v2 C++ 程式開發

  1. Gary Kuo 說道:

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

    喜歡

    • Heresy 說道:

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

      喜歡

      • Gary Kuo 說道:

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

        喜歡

        • Heresy 說道:

          程式裡面可以自行指定檔案位置。

          喜歡

          • Gary Kuo 說道:

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

            喜歡

          • Heresy 說道:

            請參考: https://kheresy.wordpress.com/2015/09/04/vgb-cpp-api/

            程式碼的第一段說明: wstring sDatabaseFile = L“test.gbd";
            就是在指定檔案的位置了。

            至於缺少 DLL 檔的部分,也請參考上面的文章。
            請把執行時需要的檔案,複製到執行檔所在路徑。

            喜歡

          • Gary Kuo 說道:

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

            喜歡

          • Heresy 說道:

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

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

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

            喜歡

  2. Beginner 說道:

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

    喜歡

    • Heresy 說道:

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

      喜歡

      • Beginner 說道:

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

        喜歡

        • Heresy 說道:

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

          喜歡

  3. 雷言 說道:

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

    喜歡

    • Heresy 說道:

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

      喜歡

  4. Gary Kuo 說道:

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

    喜歡

    • Heresy 說道:

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

      喜歡

  5. desperado 說道:

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

    喜歡

    • Heresy 說道:

      這部分需要自己去依序讀取個點的資料,然後輸出成符合需求的格式。

      喜歡

      • desperado 說道:

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

        喜歡

        • Heresy 說道:

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

          喜歡

  6. Willy 說道:

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

    喜歡

    • Heresy 說道:

      沒辦法。
      微軟的 SDK 也沒有提供對應的功能。

      喜歡

      • Willy 說道:

        不好意思 再請問一下
        那K4W2能不能使用SDK 1.7或SDK1.8之類舊的版本呢??
        還是多台一機只能乖乖用Kinect 1呢??

        喜歡

        • Heresy 說道:

          不行。

          喜歡

  7. desperado 說道:

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

    喜歡

    • Heresy 說道:

      抱歉,Heresy 短時間內應該還不會寫相關的文章。建議請參考範例程式下手。

      喜歡

  8. scallion 說道:

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

    喜歡

    • Heresy 說道:

      如果你是指這個的話
      http://research.microsoft.com/en-us/projects/handpose/
      他是微軟研究院的一個專案,目前並不屬於 Kinect for Windows SDK v2 的功能之一。

      喜歡

  9. hs 說道:

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

    喜歡

    • Heresy 說道:

      Heresy 在寫的時候沒有這個問題。
      建議請檢查所有函式的回傳值,看看是哪裡出問題。

      喜歡

      • hs 說道:

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

        喜歡

        • Heresy 說道:

          不知道你有沒有試過官方的範例程式?

          喜歡

          • hs 說道:

            有的~ 但是官方的範例有點複雜…我都是拿網路上別人寫的
            但都會碰到這個問題~_~

            喜歡

    • Heresy 說道:

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

      喜歡

  10. 雲動漫,林先生 說道:

    您好我是網路動畫系統開發,請問怎麼和你們,交流

    喜歡

    • Heresy 說道:

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

      喜歡

發表迴響

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

WordPress.com Logo

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

Twitter picture

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

Facebook照片

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

Google+ photo

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

連結到 %s

%d 位部落客按了讚: