Find Contours

 
import gab.opencv.*;
import processing.video.*;

Capture cam;
Movie video;
OpenCV opencv;

ArrayList contours;

void setup() {
  size(640, 480);
  cam = new Capture(this, 640, 480, 30);
  cam.start();

  opencv = new OpenCV(this, 640, 480);
  opencv.loadCascade(OpenCV.CASCADE_FULLBODY );
  opencv.startBackgroundSubtraction(5, 3, 0.1);

}

void draw() {
  if(cam.available()){
    cam.read(); 
  }

  image(cam, 0, 0);  
  opencv.loadImage(cam); 

  opencv.gray();
  opencv.threshold(70);

  noFill();
  stroke(255, 0, 0);
  strokeWeight(4);
  for (Contour contour : opencv.findContours()) {
       stroke(0, 255, 0);
    contour.draw();

    stroke(255, 0, 0);
    beginShape();
    for (PVector point : contour.getPolygonApproximation().getPoints()) {
      vertex(point.x, point.y);
    }
    endShape();
  }
}

void movieEvent(Capture m) {
  m.read();
}