...
Für die direkte Steuerung eines Interfaces kann es hilfreich sein, zu wissen, wo sich der hellste Punkt in einem Bild befindet. Dazu wird ein PVector erstellt und eine Variable, welche den jeweils hellsten Wert für das aktuelle Frame beinhaltet. Durch das Vergleichen der Helligkeitswerte im ganzen Frame kann sehr schnell der Hellste Punkt bestimmt werden.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
import processing.video.*; Capture video; PVector brightestPoint = new PVector(0,0); void setup() { size(640, 480); // start video capture video = new Capture(this, width, height, 30); video.start(); } void draw() { // read new video frame if available if (video.available()) { video.read(); } // initially floatset brightness =to 0;zero for (float brightness = 0; // initially set point to center PVector point = new PVector(width/2, height/2); // go through video pisel by pixel for (int x=0; x < width; x++) { for (int y=0; y < height; y++) { // get pixel location int loc = x + y * width; // get color of pixel color c = video.pixels[loc]; // check if brightness is higher than current value if (brightness(c) > brightness) { // set new brightness brightness = brightness(c); // save location of brighter point brightestPointpoint.x = x; brightestPointpoint.y = y; } } } // draw video image(video, 0, 0); // draw circle ellipse(brightestPointpoint.x, brightestPointpoint.y, 20, 20); } |
Farbtracking
...