close
附註:本文僅屬記錄與經驗分享且在非乾淨電腦中安裝,若有遺漏或錯誤煩請指正,如有侵權請來信告知。
發表日期:2014/03//10, 最後更新:2014/03/10
0.目錄
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,將其複製到執行檔資料夾下就可以成功初始化了
- 根據Nikolai Smolyanskiy在網誌中提到的(如下)簡單說就是設定的長、寬要跟開啟的color及depth stream的設定一模一樣:
3.參考資料
- Kinect SDK 1.5 - Face tracking in C# by Renaud - http://www.renauddumont.be/post/2012/06/01/Kinect-SDK-15-Face-tracking-in-Csharp
- JunkBox_Win_Lib - http://www.nsl.tuis.ac.jp/doxygen/JunkBox_Win_Lib/KinectFaceTracker_8cpp_source.html
- Face Tracking SDK in Kinect For Windows 1.5 by nsmoly - http://nsmoly.wordpress.com/2012/05/21/face-tracking-sdk-in-kinect-for-windows-1-5/
- msdn Face Tracking - http://msdn.microsoft.com/en-us/library/jj130970.aspx
- Kinect for Windows SDKのFaceTakingで取得した2Dを表示する(C++) - https://gist.github.com/kaorun55/3824374
4.後記
Kinect在台灣討論的內容真的很少,國外網友似乎這種問題連小朋友都不會犯,感覺FaceTrackData.dll、FaceTrackLib.dll這兩個檔案本來就是綁在一起了,不會有人把它分開。(其實我沒好好看文件,找好久才看到Renaud說face tacking用到兩個lib,有看應該就不會犯這種錯了)
而大陸的看來看去幾乎都一樣(抄來抄去),對於剛接觸Kinect的筆者來說,要找到有用的資料真的是一大挑戰。
找了3個小時才終於在日本網站中找到關鍵字,那行0x80070002 error, FaceTrackData.dll is missed 感覺程式碼都在發光了,真的是超棒的註解呀。
果然註解要好好寫阿...
全站熱搜