Kinect是美國微軟公司于2010年11月推出的XBOX 360游戲機體感周邊外設(shè)的正式名稱。它是一種3D體感攝影機,利用即時動態(tài)捕捉、影像辨識、麥克風輸入、語音辨識、社群互動等功能,讓玩家能夠擺脫傳統(tǒng)游戲手柄的束縛,通過自己的肢體控制游戲,并且與互聯(lián)網(wǎng)玩家進行互動,分享圖片、影音信息。
《Kinect體感程序設(shè)計入門(使用C#和C++) 》不僅講解了Kinect設(shè)備的開發(fā)細節(jié)、SDK架構(gòu),更有不少篇幅在介紹色彩、影像、視覺等專業(yè)知識,使讀者在學(xué)完《Kinect體感程序設(shè)計入門(使用C#和C++) 》之后能立即開始設(shè)計Kinect for Windows 的應(yīng)用程序。
雖然Kinect for Windows的SDK發(fā)展時間不算長,但已經(jīng)有許多有趣的應(yīng)用,例如醫(yī)療保健、手術(shù)訓(xùn)練、教育互動等。這些都證明了只要您有想法,目前的Kinect設(shè)備及SDK都能幫助您實現(xiàn)夢想。
Kinect最早運用在Xbox 360的體感游戲上,讓玩家能夠用自己的身體操控游戲,不再受游戲控制器的束縛。Kinect for Xbox上市后,獲得了廣大的市場反響,微軟公司乘勝追擊,推出Kinect for Windows設(shè)備,促使Kinect脫離游戲機專用的范疇,由此開發(fā)人員得以將Kinect與各種PC結(jié)合,開發(fā)出更多應(yīng)用。功能更強大的Kinect One上市后,將以更精確的感測技術(shù)與算法繼續(xù)引領(lǐng)體感控制潮流。 目前開發(fā)Kinect應(yīng)用程序的方法大致分為微軟官方Kinect for Windows SDK和OpenNI兩種。OpenNI必須采用C/C++開發(fā),進入門檻較高;而Kinect for Windows SDK彈性較大,除了C/C++之外,還可選用其他任何.NET平臺上的程序設(shè)計語言,本書使用的是使用率較高的C#語言,同時輔以少量的PowerShell、C++范例,讓讀者體驗Kinect開發(fā)的多樣性和豐富性。 以微軟官方Kinect for Windows SDK 1.7為基礎(chǔ),該版本SDK的Kinect交互函數(shù)庫(Kinect Interaction)支持對握拳(Grip)、按壓(Push)手勢的偵測融入大量官方Kinect人機接口導(dǎo)覽(Human Interface Guidelines)中的內(nèi)容,藉此提升Kinect范例程序的質(zhì)量。Kinect體感程序設(shè)計并非只是單純地編寫程序代碼,還需要考慮用戶使用時的距離和感受針對圖形用戶界面(GUI)如何整合體感程序設(shè)計,作者編寫了專門章節(jié)進行介紹,內(nèi)容包括通過Kinect控制鼠標和Windows應(yīng)用程序使用C#、PowerShell、C++開發(fā)范例程序。部分章節(jié)介紹了OpenNI 2.x的相關(guān)知識?涉及增強現(xiàn)實(Augmented Reality,AR)應(yīng)用程序的開發(fā),且融入部分WPF動畫效果,Kinect內(nèi)建加速度感應(yīng)器的應(yīng)用,Kinect語音識別和語音合成,Kinect彩色圖像處理及應(yīng)用,Kinect深度圖像處理及應(yīng)用,Kinect骨架信息處理及應(yīng)用.
王森是臺灣微軟Kinect技術(shù)的首席講師,精通Kinect設(shè)備的細節(jié)和SDK架構(gòu),熟悉色彩、影像、視覺等專業(yè)開發(fā)知識,是一位活躍的網(wǎng)絡(luò)社區(qū)風云人物、技術(shù)圖書作家和書評家。
Chapter 1 購買合適的Kinect硬件
1-1│市售的Kinect硬件2
1-2│Kinect硬件4
1-3│Kinect for Windows硬件專屬功能5
1-4│使用Kinect for Xbox進行開發(fā)5
1-5│Kinect的計算結(jié)果6
1-6│Kinect的“兄弟”7
1-7│總結(jié)9
Chapter 2 Kinect開發(fā)概覽
2-1│Kinect、驅(qū)動程序與執(zhí)行環(huán)境11
2-2│Kinect與應(yīng)用程序執(zhí)行環(huán)境13
2-3│解析Kinect硬件14
2-4│深度圖像15
2-5│Kinect具備的能力17
2-6│微軟官方SDK19 Chapter 1 購買合適的Kinect硬件
1-1│市售的Kinect硬件2
1-2│Kinect硬件4
1-3│Kinect for Windows硬件專屬功能5
1-4│使用Kinect for Xbox進行開發(fā)5
1-5│Kinect的計算結(jié)果6
1-6│Kinect的“兄弟”7
1-7│總結(jié)9
Chapter 2 Kinect開發(fā)概覽
2-1│Kinect、驅(qū)動程序與執(zhí)行環(huán)境11
2-2│Kinect與應(yīng)用程序執(zhí)行環(huán)境13
2-3│解析Kinect硬件14
2-4│深度圖像15
2-5│Kinect具備的能力17
2-6│微軟官方SDK19
2-7│程序語言與開發(fā)框架的選擇20
2-8│Kinect參考書籍26
2-9│參考網(wǎng)站與文章28
Chapter 3 安裝Kinect for Windows SDK
3-1│下載SDK31
3-2│SDK分為兩個部分32
3-3│SDK安裝前34
3-4│安裝SDK35
3-5│安裝Kinect 38
3-6│使用OpenNI 2.x快速體驗Kinect40
3-7│安裝Developer Toolkit41
3-8│測試Kinect設(shè)備43
3-9│Kinect硬件的差異44
3-10│范例47
Chapter 4 Kinect開發(fā)初體驗
4-1│操控Kinect61
4-2│Kinect硬件特性62
4-3│使用Developer Toolkit Browser64
4-4│使用Kinect Studio65
4-5│Kinect硬件與.NET的連接68
4-6│Kinect硬件與C++的連接69
4-7│范例70
Chapter 5 聲音處理
5-1│Kinect的聲音來源87
5-2│Kinect的聲音API89
5-3│范例90
Chapter 6 語音識別與語音合成
6-1│語音99
6-2│Kinect的語音API99
6-3│語音識別引擎102
6-4│范例103
Chapter 7 圖形界面Kinect應(yīng)用程序
7-1│窗口框架(Framework)的選擇118
7-2│Kinect傳感器圖像信息118
7-3│使用Web技術(shù)作為圖形顯示121
7-4│使用其他平臺作為圖形顯示121
7-5│范例122
Chapter 8 Kinect交互
8-1│Kinect提供的數(shù)據(jù)流142
8-2│位置、方位與交互模式142
8-3│交互距離144
8-4│骨架追蹤145
8-5│骨架信息流148
8-6│交互模式150
8-7│控制Windows應(yīng)用程序151
8-8│控制鼠標152
8-9│Kinect交互152
8-10│范例156
Chapter 9 彩色圖像處理
9-1│彩色圖像流176
9-2│Kinect傳回的彩色圖像177
9-3│只有手勢是不夠的178
9-4│彩色圖像流相關(guān)類179
9-5│范例181
Chapter 10 深度圖像處理與應(yīng)用
10-1│深度圖像流200
10-2│深度圖像數(shù)據(jù)201
10-3│近距離模式203
10-4│整合事件的處理205
10-5│范例206
Chapter 11 骨架追蹤與應(yīng)用
11-1│Kinect的骨架追蹤功能231
11-2│關(guān)節(jié)方位232
11-3│Kinect交互函數(shù)庫結(jié)合WPF235
11-4│范例236