2014年5月12日 星期一

Week 13 葉正聖老師示範

import SimpleOpenNI.*;
SimpleOpenNI openni;
void setup(){
  size(640+640, 480);
  openni = new SimpleOpenNI(this); 
  openni.enableDepth();
  openni.enableRGB(); 
}
void draw(){
  openni.update();
  image(openni.depthImage(), 0,0);
  image(openni.rgbImage(), 640, 0);
}

Q1: 64位元的 Processing可能不能跑?
A1: 那就裝 32位元的吧

Q2: Processing 2.1.2 好像不能跑?
A2: Processing 2.1.1 吧
Q3: 為什麼在我的筆電還是不能跑?
A3: 小心中文的目錄名稱哦!
 

以下示範體感擦玻璃
import SimpleOpenNI.*;
PImage imgBG, imgBlend, imgUser;
SimpleOpenNI openni;
void setup() {
  size(640+640, 480);
  imgBG=loadImage("imgBG.jpg");
  imgBlend=createImage(640, 480, ARGB);
  imgBlend.loadPixels();
  for (int i=0;i<640*480;i++) imgBlend.pixels[i]=color(255, 0, 0, 155);
  imgBlend.updatePixels();
  openni= new SimpleOpenNI(this);
  openni.enableDepth();
  openni.enableUser();
}
void draw() {
  background(0);
  openni.update();
  image(imgBG, 0, 0);//background(imgBG);
  image(imgBlend, 0, 0);
  imgUser = openni.userImage();
  image(imgUser, 640, 0);
  imgBlend.loadPixels();
  imgUser.loadPixels();
  for (int i=0;i<640*480;i++) {
    color now=imgUser.pixels[i];
    if (!(red(now)==blue(now) && blue(now)==green(now))) imgBlend.pixels[i]=color(255, 255, 0, 0);
  }
  imgBlend.updatePixels();
}

沒有留言:

張貼留言