Kinect 是微軟公司推出的以體感互動為基礎的人機互動裝置。
Kinect 蘊藏的無限潛力,正等待著讀者們去發掘和創造。這是一本Kinect開發入門教學書,透過對基礎篇和開發篇的學習,讀者可以了解Kinect 技術的相關知識,並熟練Kinect 相關API 的使用方法。非常值得Kinect 初學者參考。
本書為Kinect for Windows 開發人員提供快速入門的知識,但是要求讀者有一定的程式設計基礎。由於本書的實例程式全部由C# 撰寫,讀者最好對C# 有一定的了解。
作者簡介:
吳國斌
微軟亞洲研究院學術合作經理,負責中國高校及科研機構Kinect for Windows學術合作計畫及微軟精英大挑戰Kinect主題專案,曾擔任微軟TechEd 2011 Kinect論壇講師、微軟亞洲教育高峰會Kinect分論壇主席、中國電腦學會學科前沿講習班Kinect主題學術主任
李斌
來自西安電子科技大學,國內首批Kinect開發者,策劃執行微軟Kinect for Windows Pioneer計畫,開發Kinect風箏項目,曾擔任微軟TechEd 2011 Kinect論壇講師、人大附中Kinect選修課講師。
閻驥洲
來自北京航空航太大學,國內首批Kinect開發者,曾在微軟Kinect for Windows Pioneer計畫中憑藉「虛擬演示系統」獲得第一名的成績,之後參與並指導了多個Kinect應用開發項目,有著豐富的Kinect使用及開發經驗。
推薦序
微軟從未停止過創新的步伐,Kinect 的問世無疑又為自然使用者介面領域開啟了一片新的天地。Kinect 集強大的機器學習技術、身份識別能力以及語音辨識功能於一身,儼然成為了即將改變世界的又一大利器。
Kinect 最先與Xbox 360 結合,把Xbox 360 變成了一台體感遊戲機,拋開遊戲搖桿,你的身體就是遙控器。Xbox 360 與Kinect 套裝開售僅3 個月,便售出上千萬台,創造了新的電子產品銷售世界記錄。
Kinect for Windows SDK 的發佈更是在科學研究工作者和開發者社區中掀有一波創新熱潮,越來越多的技術愛好者投身於探索Kinect 帶來的無限可能中。短短一年多的時間,我們便看到Kinect 已經在各個領域大展身手。
在娛樂遊戲方面,有隔空切西瓜的Kinect 版水果忍者;在傳統文化方面,有隨動皮影戲、川劇變臉和虛擬放風箏;在機械控制領域,有徒手控制直升機、機器人隨動和自主避障車等;在醫療領域,手術中醫生只用手勢即可控制醫療影像的播放和縮放,實現了便捷且無菌的操作;在輔助工具方面,有PPT 播放和虛擬展示系統等,Kinect 的體感互動提供了一種全新的演講和展示方式。由此可見,Kinect 把多少不可能變成了現實,然而這只是一部分,Kinect 蘊藏的無限潛力遠不止這些,等待著讀者們去發掘和創造。
Kinect for Windows 硬體裝置在2012 年10 月初登入大中華市場, 這本Kinect 開發入門教學可以說是應時而生,非常值得Kinect 初學者參考。
微軟亞洲研究院多個研究團隊的研究成果已經轉化到Kinect 的核心技術中。
本書的一位作者吳國斌博士在微軟亞洲研究院負責Kinect for Windows 在中國的學術合作計畫,見證了Kinect for Windows 在中國大專院校和科學研究機構的創新發展歷程。另外兩位作者作為第一批使用Kinect for Windows 進行專案開發的技術愛好者,一直追蹤著Kinect for Windows SDK 最新技術動向。我很高興看到他們能夠將自己累積的經驗寫成書,與更多的科學研究工作者和技術愛好者分享。
最後,期待在層出不窮的Kinect 創新應用中看到你的作品!
郭百甯,微軟亞洲研究院 常務副院長
微軟從未停止過創新的步伐,Kinect 的問世無疑又為自然使用者介面領域開啟了一片新的天地。Kinect 集強大的機器學習技術、身份識別能力以及語音辨識功能於一身,儼然成為了即將改變世界的又一大利器。
Kinect 最先與Xbox 360 結合,把Xbox 360 變成了一台體感遊戲機,拋開遊戲搖桿,你的身體就是遙控器。Xbox 360 與Kinect 套裝開售僅3 個月,便售出上千萬台,創造了新的電子產品銷售世界記錄。
Kinect for Windows SDK 的發佈更是在科學研究工作者和開發者社區中掀有一波創新熱潮,越來越多的技術愛好者投身於探索Kinect 帶來的無限可能...
目錄
Kinect 基礎篇
第01章 Kinect 簡介
1.1 什麼是Kinect
1.2 Kinect 的前世今生
1.3 Kinect 體感互動技術原理
1.3.1 Kinect 的結構組成
1.3.2 Kinect for Windows SDK 簡介及功能介紹
1.4 Kinect for Windows 應用領域
1.5 小結
Kinect 開發篇
第02章 Kinect for Windows 開發環境設定
2.1 開發環境需求
2.2 設定開發環境
2.3 Kinect for Windows SDK 技術架構
2.4 小結
第03章 Kinect 彩色和紅外圖像資料的處理
3.1 彩色影像的格式
3.2 紅外資料流程
3.3 實例1 — 呼叫API 取得彩色圖像資料和紅外影像,並實現靜態影
像的抓取
3.4 小結
第04章 Kinect 深度資料的處理
4.1 深度資料的結構
4.2 實例2—呼叫API 取得深度資料,並對不同深度值著以不同顏色
4.3 小結
第05章 Kinect 骨骼追蹤資料的處理方法
5.1 骨骼追蹤資料的結構
5.2 半身模式
5.3 骨骼追蹤資料的取得方式
5.4 實例3—呼叫API 取得骨骼資料並即時繪製
5.5 骨骼點旋轉資訊
5.5.1 骨骼點旋轉資訊儲存方式
5.5.2 在骨骼資料回呼函數中取得骨骼點旋轉資訊
5.5.3 綜述
5.6 實例4—使用Kinect 控制PPT 播放
5.7 小結
第06章 音訊API 的使用
6.1 關於Kinect 麥克風陣列
6.2 實例5—記錄一段音訊流,並監視音訊來源方向
6.3 實例6—呼叫語音API,實現語音辨識小程式
6.4 小結
第07章 Kinect for Windows Developer Toolkit 介紹
7.1 安裝Kinect for Windows Developer Toolkit
7.2 Kinect Studio 簡介
7.2.1 開啟Kinect Studio 並連結應用
7.2.2 記錄並重播Kinect 資料流程
7.2.3 儲存和載入Kinect 資料流程
7.3 Face Tracking SDK 簡介
7.3.1 Face Tracking SDK 主要功能
7.3.2 Face Tracking SDK 使用方法
7.4 實例7—使用Face Tracking SDK 識別人臉
7.4.1 新增專案並增加參考
7.4.2 初始化Kinect 資料流程
7.4.3 取得資料並傳入Face Tracking
7.5 小結
第08章 Kinect 常用類別函數庫介紹
8.1 Coding4Fun Kinect Toolkit 介紹
8.1.1 以圖型資料為基礎的擴充方法
8.1.2 以骨骼資料為基礎的擴充方法
8.2 Kinect Toolbox 類別函數庫
8.2.1 Kinect Toolbox 簡介
8.2.2 人體姿態識別
8.2.3 手勢識別
8.2.4 模版識別
8.2.5 語音辨識
8.2.6 增加自訂姿態
8.3 小結
Kinect 時戰篇
第09章 Kinect 虛擬展示系統的實現
9.1 虛擬展示系統簡介
9.2 技術實現概述
9.3 利用深度資料標籤取得人物彩色影像
9.3.1 建立人物擷圖類別
9.3.2 利用深度資料取得人物彩色影像
9.3.3 修補、最佳化並增強擷圖類別
9.3.4 利用Kinect SDK 擷圖的優、缺點
9.4 利用骨骼資料識別人體姿態
9.4.1 利用Toolbox 實現主體識別功能
9.4.2 自然對話模式設計
9.4.3 Kinect 自然互動小結
9.5 展示系統簡介
9.5.1 預備知識
9.5.2 Kinect 狀態類別
9.5.3 Kinect 輪詢類別 .
9.5.4 展示框架小結
9.6 小結
第10章 Kinect 虛擬放風箏專案的實現
10.1 Kinect 虛擬放風箏專案簡介
10.2 技術實現概述
10.3 玩家姿勢的設計和識別
10.3.1 玩家姿勢的設計
10.3.2 玩家姿勢識別的實現
10.4 自然互動按鈕和游標的實現
10.4.1 自訂游標
10.4.2 自訂按鈕
10.5 風箏動畫的實現
10.6 專案操作流程
10.7 小結
第11章 Kinect 全息顯示
11.1 Kinect 全息顯示簡介
11.2 技術實現概述
11.3 Kinect 捕捉頁首座標
11.3.1 建立用於捕捉頁首位置的Kinect 元件類別
11.3.2 Kinect 初始化以及頁首位置取得
11.3.3 根據Kinect 和螢幕的位置關係轉換座標
11.4 3D 圖形引擎
11.4.1 建立可見模型繪製類別
11.4.2 建構模型世界矩陣
11.4.3 繪製模型
11.5 根據頁首位置更新繪製影像
11.5.1 修改視圖矩陣
11.5.2 修改投影矩陣
11.6 小結
第12章 以Kinect 為基礎的自主移動機器人的設計與實現
12.1 KRobot 專案簡介
12.2 技術實現概述
12.3 利用深度資料進行攝影機標定
12.4 利用深度資料實現障礙規避
12.4.1 取得彩色圖和深度圖資料
12.4.2 處理深度圖和深度資料
12.4.3 制定障礙物判斷規則
12.4.4 制定機器人避障規則
12.5 利用骨架資料實現人體追蹤
12.6 利用麥克風進行聲音定位
12.7 增強人機互動展示系統
12.8 小結
附錄A Kinect for Windows SDK 類別、結構型態和列舉型態
Kinect 基礎篇
第01章 Kinect 簡介
1.1 什麼是Kinect
1.2 Kinect 的前世今生
1.3 Kinect 體感互動技術原理
1.3.1 Kinect 的結構組成
1.3.2 Kinect for Windows SDK 簡介及功能介紹
1.4 Kinect for Windows 應用領域
1.5 小結
Kinect 開發篇
第02章 Kinect for Windows 開發環境設定
2.1 開發環境需求
2.2 設定開發環境
2.3 Kinect for Windows SDK 技術架構
2.4 小結
第03章 Kinect 彩色和紅外圖像資料的處理
3.1 彩色影像的格式
3.2 紅外資料流程
3.3 實例1 — 呼叫API 取得彩色圖像資料和紅外影像...
購物須知
關於二手書說明:
商品建檔資料為新書及二手書共用,因是二手商品,實際狀況可能已與建檔資料有差異,購買二手書時,請務必檢視商品書況、備註說明及書況影片,收到商品將以書況影片內呈現為準。若有差異時僅可提供退貨處理,無法換貨或再補寄。
商品版權法律說明:
TAAZE 單純提供網路二手書託售平台予消費者,並不涉入書本作者與原出版商間之任何糾紛;敬請各界鑒察。
退換貨說明:
二手書籍商品享有10天的商品猶豫期(含例假日)。若您欲辦理退貨,請於取得該商品10日內寄回。
二手影音商品(例如CD、DVD等),恕不提供10天猶豫期退貨。
二手商品無法提供換貨服務,僅能辦理退貨。如須退貨,請保持該商品及其附件的完整性(包含書籍封底之TAAZE物流條碼)。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱
退換貨原則、
二手CD、DVD退換貨說明。