星期二, 7月 01, 2014

本課程教材大全集

互動視訊遊戲開發

基礎概念與理論闡述 - 投影片, 共十二單元。

單元一 擴增實境簡介

設計目標: 說明本課程名稱中的 ”互動視訊” 是以攝影機維互動介面,讓實境中的人可以透過攝影機和虛擬的物件互動,也就是在擴增實境中互動,讓同學可以確實了解課程目標。

摘要說明: 介紹什麼是實境、虛擬實境、擴增實境,並以電影或動畫情節為例子說明。

單元二 C++ Builder 程式設計基礎

設計目標: 因為本課程所使用的程式開發工具是 C++ Builder, 所以設計此單元, 讓同學可以認識 C++ Builder的開發環境, 完成後本單元後, 希望同學具備進行本課程實作教材的基本能力。

摘要說明: 介紹 C++ Builder 的歷史與特色、說明物件導向程式設計的基本觀念、講解開發視窗應用程式的主要工作, 並以實例說明 C++ Builder 的整合開發環境。

單元三 VFW 函式庫簡介

設計目標: 本課程使用微軟所提供最基礎的 Video For Window 函式庫進行視訊控制, 因此有必要設計此單元讓同學了解其主要功能。

摘要說明: 簡略說明微軟 Video For Window 函式庫的主要功能。

單元四 視訊擷取視窗與視訊裝置

設計目標: 希望同學可以體驗將攝影機拍攝內容顯示在自己開發的應用程式之中, 並不是一件困難的事, 引發同學的實作動機。

摘要說明: 如何透過VFW函式建立擷取視窗、連結視訊裝置並完成相關設定後, 將視訊內容顯示在視訊擷取視窗。[ 搭配實作教材 1 ]
說明視訊裝置驅動程式所扮演的角色為何? 如何透過 VFW函式獲知視訊裝置驅動程式所提供的功能? 如何改變視訊裝置的參數設定? [ 搭配實作教材 2 ]

單元五 靜態影像擷取

設計目標: 除了可以顯示畫面, 儲存靜態影像與動態視訊內容都是視訊裝置常提供的功能, 因此希望同學有能力可以實作這些常見功能。

摘要說明: 如何透過 VFW 函式擷取靜態影像並存成影像檔案。[ 搭配實作教材 3-A ]

單元六 錄影參數與錄影

設計目標: 儲存動態視訊內容是視訊裝置必提供的功能, 因此希望同學有能力可以實作此功能。

摘要說明: 如何透過 VFW 函式知道錄影參數為何? 如何改變攝影參數? 如何透過 VFW 函式錄影? [ 搭配實作教材 3-B,C ]

單元七 影像元件與視訊格式 (RGB24, YUY2)

設計目標: RGB24 與 YUY2 是目前最常見的兩種 USB 攝影機所提供的視訊格式, 要處理與分析視訊內容, 必須先對視訊儲存格式有所了解才行, 因此設計此單元, 希望同學可以至少掌握 2 種最常見的視訊格式。

摘要說明: 介紹 C++ Builder 影像元件與 2 種最常用的視訊格式 (RGB24、YUY2)、講解兩種格式的轉換公式與程式撰寫技巧。

單元八 預覽回呼函式 (Preview Callback Function)

設計目標: 希望同學了解回呼函式的程式設計技術, 了解透過預覽回呼函式可以做到視訊處理與分析。

摘要說明: 介紹回呼函式的基本概念與程式撰寫技巧、說明預覽回呼函式的傳遞參數意義、如何透過預覽回呼函式更改視訊擷取視窗之內容。[ 搭配實作教材 4-A,B,C,D ]

單元九 擴增實境實作 (Augmented Reality Implementation)

設計目標: 希望同學可以更深入了解擴增實境與簡單的動畫原理, 並有簡單實作經驗。

摘要說明: 介紹如何在視訊視窗放置不同圖片產生出各種虛擬物件、並講解如何撰寫程式產生虛擬物件會變化動作與移動位置的效果。[ 搭配實作教材 4-E,F ]

單元十 物件追蹤 (Object Tracking) 與雜訊處理 (Noise Reduction)

設計目標: 希望同學可以學會簡單地處理與分析視訊內容, 具備將來撰寫智慧型視訊監控的程式基礎。

摘要說明: 說明物件追蹤的基本原理、特定色彩(如膚色)的追蹤、背景影像之建立、色彩距離觀念、臨界值建立等常見物件追蹤技術、說明光影變化對視訊內容的影響及如何降低雜訊干擾。[ 搭配實作教材 5 ]

單元十一 擴增實境互動模式 (Interaction in Augmented Reality)

設計目標: 同學已經了解虛擬物件如何在視訊擷取視窗移動與變化動作, 也了解如何追蹤視訊擷取視窗中的實物, 結合上述兩項技術, 就可以利用兩項位置的判斷, 讓實物與虛擬物件在擴增實境中互動了。因此, 設計此單元讓同學實作擴增實境的互動模式。

摘要說明: 說明擴增實境互動模式 (透過視訊裝置與虛擬物件互動) 的基本原理與程式撰寫技巧並解說範例程式。[ 搭配實作教材 6-A, B ]

單元十二 視訊互動介面開發 (Vision-based User Interface Development)

設計目標: 讓同學瞭解透過鍵盤模擬技術, 可以將視訊互動介面用於其他的鍵盤類遊戲之中。

摘要說明: 說明如何撰寫程式將視訊裝置轉換成其他應用程式的互動介面並解說範例程式。

期末專案實作

設計目標: 希望藉著完成一項專案, 同學更熟悉課程內容, 達到可以靈活運用的程度。同時希望同學藉著上台發表成果的經驗, 培養對著一群人表達自己看法的能力。

摘要說明: 先介紹過去修課學長姐的優良作品, 最後讓同學發揮創意, 透過專案開發方式, 完成一個互動視訊遊戲專案並上台發表成果與展示作品。

實作手冊

1. 連結視訊裝置與視訊擷取視窗

a) 取得視訊裝置驅動程式的相關資訊
b) 將網路攝影機所擷取到的畫面放到視訊擷取視窗顯示出來
c) 更改視訊擷取視窗的大小

範例程式一

2. 視訊裝置驅動程式功能與視訊擷取視窗狀態

a) 取得視訊裝置驅動程式的效能
b) 開啟各種視訊參數對話盒
c) 取得視訊擷取視窗狀態

範例程式二

3. 靜態影像擷取與動態視訊錄影

a) 靜態影像擷取
b) 錄影參數之取得與設定
c) 錄影控制

範例程式三

4. 預覽回呼函數與產生虛擬物件

a) 預覽回呼函數之設定與關閉
b) 預覽回呼函數與視訊資料表頭結構
c) 將預覽畫面變成特定色調
d) YUY2格式的鏡射處理
e) 將單一顏色的長方塊放入視訊畫面中
f) 將圖片置入視訊擷取視窗之中

範例程式四

5. 色彩偵測與物件追蹤

a) 特定色彩之過濾
b) 利用預覽回呼函數建立背景影像
c) 差異偵測

範例程式五

6. 擴增實境互動模式

a) 消失互動方式
b) 兩種顯示模式

範例程式六