2015年5月11日 星期一

Week 12


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);
}



import SimpleOpenNI.*;
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);
}

沒有留言:

張貼留言