2013體感互動課程Blog, 特別邀請體感互動大師級的 Heresy老師授課哦!
上課教室: 銘傳大學桃園校區S405
上課時段: 週三上午02-04節, 第01週上課: 2013/2/20, 期中考(第9週)、6/12端午節(第17週)、期末考週(第18週),有15週授課。
授課教師: 葉正聖老師
業界教師: Heresy老師 - 第04週(3/13)教OpenNI 2, 第05週(3/20)教 NiTE 2, 第16週(6/5)期末作品展示講評
2013年6月26日 星期三
Week04,HW04,99160912王承安
這周我簡單了解kinect SDK
Kinect是應用於 Xbox 360 主機之周邊設備,可透過攝影鏡頭捕捉使用者身體動作。Kinect for Windows SDK 是針對 Windows 所設計之開發工具箱,內含驅動程式、程式開發介面、安裝文件以及參考資料,可讓使用 C++、C# 或 Visual Basic 語言之軟體開發人員輕易開發應用。
Kinect for Windows SDK 測試版是為了讓更多的程式開發人員、學術研究單位以及熱衷玩家都能夠在Windows 7平台上運用Kinect技術創造全新體驗。主要功能包含距離偵測、人體動作追蹤、語音與物件辨識等功能。
Kinect for Windows SDK的主要特色包括:
1.原始感測數據流
可直接取得距離感測器、彩色攝影機以及四單元麥克風陣列的原始數據流,可以利用Kinect感應器的低階數據流為基礎進行應用程式開發。
2.骨架追蹤
能夠追蹤Kinect視野內1位或2位使用者的骨架影像,便於建立以體感操作的應用程式。
3.先進的音效功能
包括抑制噪音與迴音消除功能、可透過音波形式辨識聲音來源,並且能與Windows語音辨識API整合。
而最新推出的kinect SDK 1.7新增了Kinect Fusion與Kinect Interactions兩項功能,支援更簡易的3D建模、手勢互動。
Kinect Fusion
可以透過連續的景深快照為人物或物體建立即時的3D模型,開發者可以將Kinect for Windows的感應器環繞人體、物件,或環境作偵測,即時建立精準的3D影像。
Kinect Interactions
增加更多手勢控制,例如推按、揮手識別主要使用者、手掌的張合動作等。
Kinect是應用於 Xbox 360 主機之周邊設備,可透過攝影鏡頭捕捉使用者身體動作。Kinect for Windows SDK 是針對 Windows 所設計之開發工具箱,內含驅動程式、程式開發介面、安裝文件以及參考資料,可讓使用 C++、C# 或 Visual Basic 語言之軟體開發人員輕易開發應用。
Kinect for Windows SDK 測試版是為了讓更多的程式開發人員、學術研究單位以及熱衷玩家都能夠在Windows 7平台上運用Kinect技術創造全新體驗。主要功能包含距離偵測、人體動作追蹤、語音與物件辨識等功能。
Kinect for Windows SDK的主要特色包括:
1.原始感測數據流
可直接取得距離感測器、彩色攝影機以及四單元麥克風陣列的原始數據流,可以利用Kinect感應器的低階數據流為基礎進行應用程式開發。
2.骨架追蹤
能夠追蹤Kinect視野內1位或2位使用者的骨架影像,便於建立以體感操作的應用程式。
3.先進的音效功能
包括抑制噪音與迴音消除功能、可透過音波形式辨識聲音來源,並且能與Windows語音辨識API整合。
而最新推出的kinect SDK 1.7新增了Kinect Fusion與Kinect Interactions兩項功能,支援更簡易的3D建模、手勢互動。
Kinect Fusion
可以透過連續的景深快照為人物或物體建立即時的3D模型,開發者可以將Kinect for Windows的感應器環繞人體、物件,或環境作偵測,即時建立精準的3D影像。
Kinect Interactions
增加更多手勢控制,例如推按、揮手識別主要使用者、手掌的張合動作等。
Week03,HW03,99160912王承安
OpenNI 2
老師上課有稍微講過OpenNI的東西,所以這周我大概了解一下什麼是OpenNI。
我們找到了Heresy老師的網誌有介紹OpenNI2,內容提到OpenNI 是一個開放原始碼、跨平台的程式開發框架(framework),他定義了一套存取、控制深度感應器的標準介面,讓開發者可以用統一的方法,來完成基於深度感應的各項操作。OpenNI2只負責提供應用程式、函式庫和硬體上的溝通,讓程式開發者可以透過 OpenNI 來取得深度感應器的各項資料,至於獲得這些資料後的處理就沒有提供了。
OpenNI2還提供middleware library,middleware就是中介軟體,Unity和OpenNI之間需要這些中介軟體,針對不同的軟體會有不同的middleware。OpenNI2的middleware是一個會透過OpenNI去存取感應器、進行後續處理的函式庫,而OpenNI沒有去定義它要有那些功能那些介面,所以可以非常自由地發揮。但是不同的middleware會有不介面標準,需要個別去學習。
2013年6月20日 星期四
99160273_程柔淇,99160912_王承安,Week16,HW16
Vision
功能-List (可demo)
1.開啟Unity內建模型
2.Kinect偵測手掌中心點
3.手移動方向模型會跟著改變大小
拆解小步驟
Kinect接上電腦測試範例程式(V) Unity跟Kinect結合(V)
Unity測試腳本(V)
使用Unity測試Kinect抓到全身骨架(V)
使用Unity測試Kinect抓到手掌骨架 (V)
偵測到手移動的方向模型跟著改變大小(程式碼修改)
模型變形
介面(開始)
99160273_程柔淇,99160912_王承安,Week15,HW15
Vision
功能-List (可demo)
1.開啟Unity內建模型
2.Kinect偵測手掌中心點
3.手移動方向模型會跟著改變大小
拆解小步驟
Kinect接上電腦測試範例程式(V) Unity跟Kinect結合(V)
Unity測試腳本(V)
使用Unity測試Kinect抓到全身骨架(V)
使用Unity測試Kinect抓到手掌骨架 (V)
偵測到手移動的方向模型跟著改變大小
模型變形
解決會無限放大方法:
將手的位置範圍給加大,因為在Unity裡單位比較小,所以將單位乘以數倍來測試看看是否可行。
99160273_程柔淇,99160912_王承安,Week14,HW14
Vision
功能-List (可demo)
1.開啟Unity內建模型
2.Kinect偵測手掌中心點
3.手移動方向模型會跟著改變大小
拆解小步驟
Kinect接上電腦測試範例程式(V) Unity跟Kinect結合(V)
Unity測試腳本(V)
使用Unity測試Kinect抓到全身骨架(V)
使用Unity測試Kinect抓到手掌骨架 (V)
偵測到手移動的方向模型跟著改變大小
模型變形
已經可以抓取到骨架
並且寫程式讓手移動可以改變模型
但是一偵測到後模型就會無限放大
cubescale.x=(rhandpos.x-lhandpos.x);
cubescale.y=(rhandpos.y-lhandpos.y);
cubescale.z=(rhandpos.z-lhandpos.z);
changecube.transform.localScale+=cubescale;
可能是這段計算方式錯誤
99160273_程柔淇,99160912_王承安,Week13,HW13
Vision
功能-List (可demo)
1.開啟Unity內建模型
2.Kinect偵測手掌中心點
3.當手觸碰模型時候會出現對應軸線
4.改變模型軸線長度後會改變模型大小
更正為
1.開啟Unity內建模型
2.Kinect偵測手掌中心點
3.手移動方向模型會跟著改變大小
拆解小步驟
Kinect接上電腦測試範例程式(V) Unity跟Kinect結合(V)
Unity測試腳本(V)
建立cube,用滑鼠點擊可以變長
使用Unity測試Kinect抓到全身骨架
使用Unity測試Kinect抓到手掌骨架 偵測到手移動的方向模型跟著改變大小
模型變形
99160273_程柔淇,99160912_王承安,Week12,HW12
Vision
模型變變變功能-List (可demo)
1.開啟Unity內建模型
2.Kinect偵測手掌中心點
3.當手觸碰模型時候會出現對應軸線
4.改變模型軸線長度後會改變模型大小
拆解小步驟
Kinect接上電腦測試範例程式(V)Unity跟Kinect結合(V)
Unity測試腳本
建立cube,用滑鼠點擊可以變長
使用Unity測試Kinect抓到全身骨架
使用Unity測試Kinect抓到手掌骨架
偵測手指骨架
在Unity腳本寫入模型軸線
手掌中心點接觸模型時出現軸線
模型變形
2013年6月5日 星期三
99160273_程柔淇,99160912_王承安,Week11,HW11
撰寫SCRUM
Vision
模型變變變
功能-List (可demo)
1.開啟Unit內建模型
2.Kinect偵測手掌中心點
3.當手觸碰模型時候會出現對應軸線
4.改變模型軸線長度後會改變模型大小
拆解小步驟
Kinect接上電腦測試範例程式
Unity測試腳本
Unity跟Kinect結合
建立cube,用滑鼠點擊可以變長
使用Unity測試Kinect抓到全身骨架
使用Unity測試Kinect抓到手掌骨架
偵測手指骨架
在Unity腳本寫入模型軸線
手掌中心點接觸模型時出現軸線
模型變形
Vision
模型變變變
功能-List (可demo)
1.開啟Unit內建模型
2.Kinect偵測手掌中心點
3.當手觸碰模型時候會出現對應軸線
4.改變模型軸線長度後會改變模型大小
拆解小步驟
Kinect接上電腦測試範例程式
Unity測試腳本
Unity跟Kinect結合
建立cube,用滑鼠點擊可以變長
使用Unity測試Kinect抓到全身骨架
使用Unity測試Kinect抓到手掌骨架
偵測手指骨架
在Unity腳本寫入模型軸線
手掌中心點接觸模型時出現軸線
模型變形
2013年4月24日 星期三
99160273_程柔淇,99160912_王承安,Week09,HW09,Midterm
題目: 模型變變變
利用Unity內建的模組,搭配kinect偵測手掌的中心點,在兩隻手都有偵測到的情況下,
當右手碰觸到模型時,會顯示X軸,且只能移動X軸改變大小,
當左手碰觸到模型時,會顯示Y軸,且只能移動Y軸改變大小,
當兩手碰觸到模型時,會顯示Z軸,且只能移動Z軸改變大小。
2013年4月10日 星期三
HW08,Week08,99160912_王承安
本週進度:
(1) 期中作品計畫書
(2) 專案管理介紹
(3) 實務示範
ToDo : GitHub
連結下載
120.125.68.53
安裝程序 :
(1) .kinect SDK
(2) OpenNi
(3) Nite-Window
(4) Kinect Toolkit
(5) Processing
(1) 期中作品計畫書
(2) 專案管理介紹
(3) 實務示範
ToDo : GitHub
連結下載
120.125.68.53
安裝程序 :
(1) .kinect SDK
(2) OpenNi
(3) Nite-Window
(4) Kinect Toolkit
(5) Processing
GitHub 主要是個程式設計者的臉書
會員能夠在裡頭寫,並且改原有的程式碼
新增專案
2013年3月27日 星期三
2013年2月27日 星期三
HW02,Week02
1.
#include "stdafx.h"
#include <opencv/highgui.h>
int _tmain(int argc, _TCHAR* argv[])
{
IplImage * img = cvLoadImage("c:/aaa.png");
cvShowImage("window",img);
cvWaitKey(0);
return 0;
}
2.
#include "stdafx.h"
#include <opencv/highgui.h>
int _tmain(int argc, _TCHAR* argv[])
{ CvCapture * cap=cvCreateCameraCapture(0);
IplImage * img=cvQueryFrame(cap);
while(1){
IplImage * img=cvQueryFrame(cap);
cvShowImage("img",img);
int key=cvWaitKey(33);
if (key==27)break;
}
cvReleaseCapture(&cap);
return 0;
}
2013年2月20日 星期三
訂閱:
文章 (Atom)








