close
附註:本文僅屬記錄與經驗分享且在非乾淨電腦中安裝,若有遺漏或錯誤煩請指正,如有侵權請來信告知。
發表日期:2014/03//10, 最後更新:2014/03/10

0.目錄



  1. 問題描述

  2. 解決方案

  3. 參考資料

  4. 後記






1.問題描述



  • 使用 FTCreateFaceTracker 出現找不到 FaceTrackLib.dll 錯誤

  • 成功執行,Face Tracker 初始化 (Initialize) 時失敗、錯誤代碼0x80070002

  • 筆者環境:

    • Windows 8.1 x64

    • Visual Studio 2010

    • Kinect V1.8

    • Developer Toolkit v1.8.0




2.解決方案



  •  FaceTrackLib.dll 檔案在 $(FTSDK_DIR)\Redist\x86 中(依照自己版本選擇)

    • 筆者 $(FTSDK_DIR)C:\Program Files\Microsoft SDKs\KinectDeveloper Toolkit v1.8.0\

    • 找到 FaceTrackLib.dll 以及 FaceTrackData.dll 複製到執行檔資料夾(或在專案中設定路徑)



  • FTCreateFaceTracker 設定完成,但初始化返回失敗

    • 根據Nikolai Smolyanskiy在網誌中提到的(如下)簡單說就是設定的長、寬要跟開啟的color及depth stream的設定一模一樣:
      Initialize cameras configuration structures.
      IMPORTANT NOTE: resolutions and focal lengths must be accurate, since it affects tracking precision!
      It is better to use enums defined in NuiAPI.h

    • 根據JunkBox_Win_Lib的文件(程式碼),在90行提到(如下)關鍵字:
      if hr==0x80070002 error, FaceTrackData.dll is missed    也就是缺少FaceTrackData.dll檔案

    • 同時Renaud也在"Kinect SDK 1.5 - Face tracking in C#"提到:
      The Toolkit will install Kinect Studio, a few projects samples in C#/VB.Net/C++, and two libraries for face tracking:FaceTrackData.dll、FaceTrackLib.dll

    • 結論就是缺少FaceTrackData.dll,將其複製到執行檔資料夾下就可以成功初始化了




3.參考資料



4.後記


Kinect在台灣討論的內容真的很少,國外網友似乎這種問題連小朋友都不會犯,感覺FaceTrackData.dll、FaceTrackLib.dll這兩個檔案本來就是綁在一起了,不會有人把它分開。(其實我沒好好看文件,找好久才看到Renaud說face tacking用到兩個lib,有看應該就不會犯這種錯了)

而大陸的看來看去幾乎都一樣(抄來抄去),對於剛接觸Kinect的筆者來說,要找到有用的資料真的是一大挑戰。

找了3個小時才終於在日本網站中找到關鍵字,那行0x80070002 error, FaceTrackData.dll is missed 感覺程式碼都在發光了,真的是超棒的註解呀。

果然註解要好好寫阿...
arrow
arrow
    全站熱搜

    Robarter 發表在 痞客邦 留言(0) 人氣()