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;

}

}