Bu Blogda Ara

20 Aralık 2009 Pazar

bir ornek kod

/**
* Brightness Tracking
* by Golan Levin.
*
* Tracks the brightest pixel in a live video signal.
* revision by Cagri Hakan Zaman 20 Aralik 2009
*/


import processing.video.*;

Capture video;

void setup() {
size(800, 600); // Change size to 320 x 240 if too slow at 640 x 480
// Uses the default video input, see the reference if this causes an error
video = new Capture(this, width, height, 30);
noStroke();
smooth();
}

void draw() {
if (video.available()) {
video.read();
//image(video, 0, 0, width, height); // Draw the webcam video onto the screen
int brightestX = 0; // X-coordinate of the brightest video pixel
int brightestY = 0; // Y-coordinate of the brightest video pixel
int redX =0;
int redY = 0;
float brightestValue =128;
float reddValue = 128;
// Brightness of the brightest video pixel
// Search for the brightest pixel: For each row of pixels in the video image and
// for each pixel in the yth row, compute each pixel's index in the video
video.loadPixels();
int index = 0;
for (int y = 0; y < video.height; y++) {
for (int x = 0; x < video.width; x++) {
// Get the color stored in the pixel
int pixelValue = video.pixels[index];
// Determine the brightness of the pixel
float redValue = red(pixelValue);
float greenValue= green(pixelValue);
float blueValue= blue(pixelValue);

// If that value is brighter than any previous, then store the
// brightness of that pixel, as well as its (x,y) location
if ((greenValue > 200)&&(redValue>200)&&(blueValue< 150)){
brightestValue = redValue;
brightestY = y;
brightestX = x;
}
if ((redValue > reddValue)&&(blueValue<70)&&(greenValue<70)){
reddValue = redValue;
redY = y;
redX = x;
}
index++;
}
}
// Draw a large, yellow circle at the brightest pixel
fill(255, 204, 0, 128);
ellipse(brightestX, brightestY, 50, 50);
fill (255, 0, 0 , 128);
ellipse(redX,redY, 50,50);
}
}




Hiç yorum yok:

Yorum Gönder