2015年5月11日 星期一

week12


抓屁股位置

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++)
  {
      if(openni.isTrackingSkeleton(userList[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;
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++)
  {
      if(openni.isTrackingSkeleton(userList[i])){
          PVector pos=new PVector();
          openni.getJointPositionSkeleton(userList[i],SimpleOpenNI.SKEL_HEAD,pos);
          println(pos);
          fill(255);
          ellipse(320+pos.x/3,240-pos.y/3,50,50);
      }
  }
}
void onNewUser(SimpleOpenNI curContext, int userId)
{
  curContext.startTrackingSkeleton(userId);
}


抓頭的位置新增遮罩及背景圖
import SimpleOpenNI.*;
SimpleOpenNI  openni;
PImage imgBG,imgMask;
void setup(){
  size(640, 480);
  openni = new SimpleOpenNI(this);
  openni.enableRGB();
  openni.enableDepth();
  openni.enableUser();
  imgBG=loadImage("what.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(){
  image(imgBG,0,0);
  openni.update();
  image(openni.userImage(), 0, 0,64,48);
  image(imgMask,0,0);
  int[] userList = openni.getUsers();
  for(int i=0;i<userList.length;i++)
  {
      if(openni.isTrackingSkeleton(userList[i])){
          PVector pos=new PVector();
          openni.getJointPositionSkeleton(userList[i],SimpleOpenNI.SKEL_HEAD,pos);
          println(pos);
          fill(255);
          ellipse(320+pos.x/3,240-pos.y/3,50,50);
      }
  }
}
void onNewUser(SimpleOpenNI curContext, int userId)
{
  curContext.startTrackingSkeleton(userId);
}








import SimpleOpenNI.*;
SimpleOpenNI  openni;
PImage imgBG,imgMask;
void setup(){
  size(640, 480);
  openni = new SimpleOpenNI(this);
  openni.enableRGB();
  openni.enableDepth();
  openni.enableUser();
  imgBG=loadImage("what.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(){
  image(imgBG,0,0);
  openni.update();
  image(openni.userImage(), 0, 0,64,48);
  image(imgMask,0,0);
  int[] userList = openni.getUsers();
  for(int i=0;i<userList.length;i++)
  {
      if(openni.isTrackingSkeleton(userList[i])){
          PVector pos=new PVector();
          openni.getJointPositionSkeleton(userList[i],SimpleOpenNI.SKEL_HEAD,pos);
          println(pos);
          fill(255);
          ellipse(320+pos.x/3,240-pos.y/3,50,50);
      }
  }
}
void onNewUser(SimpleOpenNI curContext, int userId)
{
  curContext.startTrackingSkeleton(userId);
}

沒有留言:

張貼留言