detecção de movimento com kinect

5 views
Skip to first unread message

Jarbas Jácome

unread,
Apr 20, 2015, 6:47:56 PM4/20/15
to Lista do LaboCA
salvando aqui pra não perder e se for util pra alguem de quebra

import org.openkinect.*;
import org.openkinect.processing.*;

Kinect kinect;
int kWidth  = 640;
int kHeight = 480;
int kAngle  =  15;

int tolerancia = 10;
int movimento;

PImage imagemAnterior;
PImage imagemAtual;

void setup() {
  size(kWidth*2, kHeight);

  kinect = new Kinect(this);
  kinect.start();
  kinect.enableDepth(true);
  kinect.tilt(kAngle);

  imagemAnterior = new PImage(kWidth, kHeight);
}

void draw() {
  // draw the raw image
  
  imagemAtual = kinect.getDepthImage();
  
  image(imagemAtual, 0, 0);
  
  imagemAtual.loadPixels();
  imagemAnterior.loadPixels();
  
  movimento = 0;
  
  for (int i=0; i < kWidth*kHeight; i++) {
    if (brightness(imagemAtual.pixels[i]) - brightness(imagemAnterior.pixels[i])
          > tolerancia) {
      movimento++;
    }
  }
  
  println(movimento);
  
  fill(0);
  text("TILT: " + kAngle, 10, 20);
  
  imagemAnterior.copy(imagemAtual,0,0,imagemAtual.width, imagemAtual.height,
                       0,0,imagemAtual.width, imagemAtual.height);
}

void keyPressed() {
  if (key == CODED) {
    if (keyCode == UP) {
      kAngle++;
    } else if (keyCode == DOWN) {
      kAngle--;
    }
    kAngle = constrain(kAngle, 0, 30);
    kinect.tilt(kAngle);
  }
}

void stop() {
  kinect.quit();
  super.stop();
}

Reply all
Reply to author
Forward
0 new messages