https://processing.org/download/?processing
2.
https://code.google.com/p/simple-openni/downloads/detail?name=SimpleOpenNI-1.96.zip&can=2&q=
3.上課教材
https://docs.google.com/spreadsheet/lv?key=0AoHx7dnbnn7OdENfVWFMUXdkbE0tZU5jdW5CX1VuNlE&toomany=true
這張我看到都笑了*0*.. |
4.... 一堆東西....
http://download.microsoft.com/download/1/7/1/1718CCC4-6315-4D8E-9543-8E28A4E18C4C/dxwebsetup.exe
http://www.geocities.jp/higuchuu4/pict/MikuMikuDanceE_v803.zip
http://download2165.mediafire.com/mbeb73cdwweg/c6vvdvli9g6s4p6/MikuMikuDance_7.39_azo.exe
http://www.geocities.jp/higuchuu4/pict/MikuMikuDanceE_v524.zip
http://www.geocities.jp/higuchuu4/pict/DxOpenNI.zip
5.http://spatialmedia.org/tid/ << 資料
C++ "
1. C++ niusertack > C:\Program Files (x86)\OpenNI\Samples\NiUserTracker >NiUserTracker_2010.vcxpr
2. debug => release =>> main.cpp
3. 搜尋 path >> SAMPLE_XML_PATH "../../Data/SamplesConfig.xml"
完成檔案! |
6.http://www.skyhunter.com.tw/blog/?p=3760 FAAST 1.0 教學
7.C++ 實作
"
void drawSkeleton(int userId)
{
// to get the 3d joint data
/*
PVector jointPos = new PVector();
context.getJointPositionSkeleton(userId,SimpleOpenNI.SKEL_NECK,jointPos);
println(jointPos);
*/
SimpleOpenNI.SKEL_NECK < 骨架??
print 骨架位置 |
"
(1)骨架位置顯示 >>example simpleopenni >>user >>drawSkeleton
(2)鏡射位置,放在setup裡面,判斷init的if之後context.setMirror(true);
(3)使用者影像與深度資料影像
image(context.depthImage(),0,200,200,200);
image(context.userImage(),0,0,200,200);(4)骨架位置顯示 >>example simpleopenni >>user >>drawSkeleton
8.手部 joint的位置調整 Code :https://docs.google.com/file/d/0B-hhc-BwbMd3NnJHOWcwSUxEbUk/edit?usp=drive_web
(1)
if(abs(jointPos.z-myZ)>100 && millis() - myTimer > 100) { myTimer = millis(); clickTF = !clickTF; } << 改變顏色
(2)框架大小
pushMatrix(); translate(map(myX, -800, 800, 0, width), map(myY, 500, -500, 0, height)); if (clickTF) fill(255, 0, 0); else fill(0, 255, 0); ellipse(0, 0, 100, 100); popMatrix(); }
9.加入滑鼠對應
https://docs.google.com/file/d/0B-hhc-BwbMd3UnVpRjlmT3pYU00/edit?usp=drive_web
宣告 :
Robot robot;
setup裡面
void setup() { size(640, 480); try { robot = new Robot(); } catch(AWTException e) { println(e); }
draw()裡面加入
void draw() { robot.mouseMove(int(map(myX,-800,800,0,1280)), int(map(myY,500,-500,0,768)));
根據螢幕解析度大小
10.加入滑鼠左鍵點擊
SimpleOpenNI.GESTURE_WAVE) 抓取揮手
https://docs.google.com/file/d/0B-hhc-BwbMd3dU40QXdCcnFDV2c/edit?usp=drive_web
if (abs(jointPos.z-myZ)>100 && millis() - myTimer > 100)
{
myTimer = millis();
clickTF = !clickTF;
robot.mousePress(InputEvent.BUTTON1_MASK); <左鍵事件
delay(100); <延遲時間
robot.mouseRelease(InputEvent.BUTTON1_MASK);
}
11.阿達_hands
https://docs.google.com/file/d/0B-hhc-BwbMd3bzJ2ZE4yYTdwTkU/edit?usp=drive_web
功能主要:Mouse 跟隨手部畫線+點擊
12.影片與手辨識
https://docs.google.com/file/d/0B-hhc-BwbMd3QlBqVnNoYVN0V00/edit?usp=drive_web
openNI 錄影+手勢
追蹤光線 | https://docs.google.com/file/d/0B-hhc-BwbMd3X2dvaldGUHdBVkU/edit?usp=drive_web |
魚群與動態判斷 | https://docs.google.com/file/d/0B-hhc-BwbMd3WUxSUDh2SWRjRUk/edit?usp=drive_web |
flob-25 : https://docs.google.com/file/d/0B-hhc-BwbMd3X3FOVk1SUFNxWnM/edit?usp=drive_web
下載檔案,要解壓縮到文件裡面的processing 裡面的library. 記得flob-25資料夾名稱要改為flob | ||
https://docs.google.com/file/d/0B-hhc-BwbMd3WGZwcGlDTGZ3YVU/edit?usp=drive_web | ||
https://www.youtube.com/watch?v=cd4jvtAr8JM | ||
https://www.youtube.com/watch?v=xcTPRjiCs6s | ||
http://www.youtube.com/watch?v=zLAdQ1eTwdg | ||
http://www.openprocessing.org/ | ||
http://creativeapplications.net/ |
手勢辨識 | http://www.threegear.com/ |
END
江政達 | 阿達 | tboydar@gmail.com | 0922-600161 |
沒有留言:
張貼留言