Kinect for Windows SDK v2.0 開發筆記 (一)環境

(轉載請註明出處)

嗯,它來了,Windows for Windows v2。



7月15日,Windows for Windows v2正式發售,帶有一系列進步。不過在本人看來,最具有誘惑的還是提高了骨骼識別精度,也就預定了。Unity跨平臺的支持算是非常不錯的特點,不過因爲一些原因只在Window上開發Kinect程序了

先是M$推遲了一天多發貨,然後是順豐不給力,愣是19日纔拿到,坑爹啊。


好了,說下環境吧。嗯需要Win8,又坑爹啊大哭。又把系統升級到Win8,至於硬件需求可以看微軟美國官網,微軟中國太坑了。

鏈接在這:點擊這裏


當然還需要安裝SDK,SDK的地址在這:點擊這裏

看看名字: SDK 2.0 public preview

以微軟的尿性,估計和開發者預覽版的SDK只有名字上的區別


安裝完SDK,正確連接好Kinect後會自動安裝驅動,沒有的話請重啓試試。安裝完了以後可以試試自帶的例子。

試用了一下自帶C++例子,關閉窗口後程序進程並未退出,微軟你到底多有坑啊


好了,吐槽完了我們將正式進入SDK v2.0 公公預覽版的學習筆記。

你將需要:

基本的C++知識,嗯,C++11的

略微的Windows C++程序知識(會用一些API與瞭解消息機制即可)

一個開發環境,當然建議微軟的visual studio,本人使用的是VS Express 2013 for Desktop

最好需要:

會使用Direct2D接口



是的,在本筆記當中,2D可視化顯示是使用的Direct2D,這一優秀的2D圖形圖像接口。

使用版本先是1.0(適用於Vista SP2以上,適合開發桌面應用程序),後面可能使用1.1版(適用於功能更新後的Win7及以上,適合遊戲開發)。

在本會簡單介紹一下Direct2D,您也可以選擇OpenGL甚至OpenCV作爲可視化顯示接口,

可以到其他博客或者微軟官網(點擊這裏)進行學習


Direct2D也是COM組建接口,使用前需要使用 CoInitialize或者CoInitializeEx初始化,不使用時用CoUninitialize反初始化。

需要注意的是這些函數需要在每個使用COM組件的線程中被調用。


使用Direct2D需要用D2D1CreateFactory創建一個D2D工廠,再使用這個工廠創建D2DRenderTarget(貌似叫渲染目標呈現器),

然後用這個RenderTarget幹各種您想幹的事。需注意的是D2D工廠創建的一般爲設備無關資源,數據存儲在主存中,

D2D RenderTarget則是創建的一般是設備相關資源,數據存儲在顯存中。

設備相關資源最蛋疼的是可能遇到設備丟失的情況,需要處理這個問題,不然什麼都看不到了。

經本人測試,D2D 1.0在屏幕分辨率、刷新率改變,某程序切換獨佔全屏等情況會造成設備丟失。

而D2D 1.1版在顯卡驅動程序崩潰的情況下(你到底怎麼測試的)會丟失設備。

這樣看來,可以說1.1版的魯棒性好點


在最後,自己寫了個D2D的模板,請放在 您的文檔\Visual Studio 2013\Templates\ProjectTemplates\下面,

(本模板的代碼有些是老代碼,有問題請見諒。)


這樣創建C++項目時可以看到該模板


對於本模板有疑問可以留言




模板下載地址

發佈了35 篇原創文章 · 獲贊 18 · 訪問量 21萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章