raw computer vision

import processing.video.*;
import processing.opengl.*;
float xx=width/2,xxx=1,yy=height/2,yyy=1,vel=5;
int posx,posy,larg,largBola,pontos,pix,sense=50;
Capture camera;
int tamanho;
void setup(){
framerate(20);
size(screen.width, screen.height,OPENGL);
camera = new Capture(this, screen.width, screen.height, 20);
ellipseMode(CENTER);
posx=0;
posy=height-20;
larg=70;
largBola=30;
xx=500;
yy=500;
}
void captureEvent(Capture camera){
camera.read();
}
void draw(){
//line(random(width),random(height),random(width),random(height));
background(255);
//image(camera,0,0);
//fill(180);
xx+=xxx;
yy+=yyy;
ellipse(xx,yy,largBola,largBola);
if(xx< =largBola/2){
xxx=vel;
}
if(xx>=screen.width-largBola/2){
xxx=-vel;
}
////////////////////////////////////////////////////////
color c = camera.get(int(xx),int(yy+largBola/2));
color top = camera.get(int(xx),int(yy-largBola/2));
if(yy<=largBola/2+100 || red(top)<sense && green(top)<sense && blue(top)<sense){
yyy=vel;
}
if( red(c)<sense && green(c)<sense && blue(c)<sense){
yyy=-vel;
}
}
