顯示具有 99160912_王承安 標籤的文章。 顯示所有文章
顯示具有 99160912_王承安 標籤的文章。 顯示所有文章

2013年6月26日 星期三

Week18,HW18,99160912_王承安,99160273_程柔淇,期末作品影片




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
增加更多手勢控制,例如推按、揮手識別主要使用者、手掌的張合動作等。

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腳本寫入模型軸線
手掌中心點接觸模型時出現軸線
模型變形

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
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日 星期三