0. 下載今天上課要用到的軟體
0.1. Kinect SDK 1.8
0.2. Processing 2.2.1 32bit
0.3. SimpleOpenNI
0.4. FAAST
0.5. 老師雲端硬碟的下載網址
https://drive.google.com/folderview?id=0ByYbu0zjxrp1flNibGlDMldkWlBqWWtGeGhlQVU4dzBORmNXblBJeWFjWXVWbVVFUTF0Nmc&usp=sharing
(註: 因為檔案很大, 在銘傳大學S405教室可以設定Proxy ( 120.96.81.32:3128 )會快一點
OR 120.125.70.53
//程式碼
import SimpleOpenNI.*;
SimpleOpenNI openni;
void setup(){
size(640,480);
openni = new SimpleOpenNI(this);
openni.enableRGB();
openni.enableDepth();
openni.enableUser();
}
void draw(){
background(255);
openni.update();
image(openni.userImage() , 0 , 0,640,480);
int [] userList = openni.getUsers();
for(int i=0; i<userList.length;i++)
{
PVector pos = new PVector();
openni.getJointPositionSkeleton(userList[i] , SimpleOpenNI.SKEL_LEFT_HIP,pos);
println(pos);
println(userList[i]);
}
}
void onNewUser(SimpleOpenNI curContext, int userId)
{
curContext.startTrackingSkeleton(userId);
}
SimpleOpenNI openni;
PImage imgBG , imgMask ;
void setup(){
size(1024 , 640);
openni = new SimpleOpenNI(this);
openni.enableRGB();
openni.enableDepth();
openni.enableUser();
imgBG = loadImage("00.jpg");
imgMask = createImage(1024 , 640 , ARGB);
imgMask.loadPixels();
for(int i=0 ; i <1024*640 ; i++){
imgMask.pixels[i] = color(0,0,255,220);
}
imgMask.updatePixels();
}
void draw(){
//background(255);
image(imgBG ,0,0);
println(frameCount);
openni.update();
image(openni.userImage() , 0 , 0,640,480);
image(imgMask,0,0);
int [] userList = openni.getUsers();
for(int i=0; i<userList.length;i++)
{
PVector pos = new PVector();
openni.getJointPositionSkeleton(userList[i] , SimpleOpenNI.SKEL_LEFT_HIP,pos);
println(pos);
println(userList[i]);
}
}
void onNewUser(SimpleOpenNI curContext, int userId)
{
curContext.startTrackingSkeleton(userId);
}
//第三個程式碼(電腦無法執行了)
import SimpleOpenNI.*;
SimpleOpenNI openni;
PImage imgBG ;
PGraphics imgMask;
void setup(){
size(1024 , 640,P3D);
openni = new SimpleOpenNI(this);
openni.enableRGB();
openni.enableDepth();
openni.enableUser();
imgBG = loadImage("00.jpg");
imgMask = createGraphics(640,480);
imgMask.beginDraw();
imgMask.background(0);
imgMask.endDraw();
}
void draw(){
//background(255);
imgBG.mask(imgMask);
image(imgBG ,0,0);
println(frameCount);
openni.update();
image(openni.userImage() , 0 , 0,64,48);
//image(imgMask,0,0);
int [] userList = openni.getUsers();
imgMask.beginDraw();
imgMask.noStroke();
imgMask.fill(255);
for(int i=0; i<userList.length;i++)
{
if(openni.isTrackingSkeleton(userList[i])){
PVector pos = new PVector();
openni.getJointPositionSkeleton(userList[i] , SimpleOpenNI.SKEL_LEFT_HIP,pos);
println(pos);
println(userList[i]);
}
}
imgMask.endDraw();
}
void onNewUser(SimpleOpenNI curContext, int userId)
{
curContext.startTrackingSkeleton(userId);
}
沒有留言:
張貼留言