Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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
languagejava
titleBeispiel
collapsetrue
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

...