New to processing---------motion tracking

*I typed these codes but I couldnt manage to run it
:-/ :-/ :cry: help me

import processing.serial.*;

// Learning Processing
// Daniel Shiffman
// http://www.learningprocessing.com

// Example 16-11: Simple color tracking

import processing.video.*;

// Variable for capture device
Capture video;
Serial arduino;

// A variable for the color we are searching for.
color trackColor;
boolean clicked;

void setup() {
size(400,400);
String portName = Serial.list()[0];
arduino = new Serial(this, portName, 9600);
video = new Capture(this,width,height,15);
// Start off tracking for red
trackColor = color(0,0,255);
smooth();
}

void draw() {
// Capture and display the video
if (video.available()) {
video.read();
}
video.loadPixels();
image(video,0,0);

// Before we begin searching, the "world record" for closest color is set to a high number that is easy for the first pixel to beat.
float worldRecord = 500;

// XY coordinate of closest color
int closestX = 0;
int closestY = 0;

// Begin loop to walk through every pixel
for (int x = 0; x < video.width; x ++ ) {
for (int y = 0; y < video.height; y ++ ) {
int loc = x + y*video.width;
// What is current color
color currentColor = video.pixels[loc];
float r1 = red(currentColor);
float g1 = green(currentColor);
float b1 = blue(currentColor);
float r2 = red(trackColor);
float g2 = green(trackColor);
float b2 = blue(trackColor);

// Using euclidean distance to compare colors
float d = dist(r1,g1,b1,r2,g2,b2); // We are using the dist( ) function to compare the current color with the color we are tracking.

// If current color is more similar to tracked color than
// closest color, save current location and current difference
if (d < worldRecord) {
worldRecord = d;
closestX = x;
closestY = y;
}
}
}

// We only consider the color found if its color distance is less than 10.
// This threshold of 10 is arbitrary and you can adjust this number depending on how accurate you require the tracking to be.
if (worldRecord < 10) {
fill(trackColor);
strokeWeight(4.0);
stroke(0);
ellipse(closestX,closestY,10,10);
arduino.write(closestX);
arduino.write(closestY);
println(closestX);
println(closestY);

}

}

void mousePressed() {

// Save color where the mouse is clicked in trackColor variable
int loc = mouseX + mouseY*video.width;
trackColor = video.pixels[loc];
}

FOR ARDU[ch304]NO
////////////////////////////////////
#include <Servo.h>

Servo neck;
Servo neck2;

int xPos=0;
int yPos = 0;

void setup() {
Serial.begin(9600);
neck.attach(9);
neck.attach(10);
}

void loop() {
if(Serial.available() >0) {
xPos=Serial.read();
yPos=Serial.read();
}
int xServo = map(xPos, 0, 320, 20, 70);
int yServo = map(yPos, 0, 240, 20, 70);
neck.write(xServo);
neck2.write(yServo);
}