spock (brightness tracking)

edited January 2018 in Library Questions

After watching Utube 11.4 Introduction to Computer Vision Processing Tutorial, I have started my journey with learning processing. Need your Help. Where can I find this tutorial code up to time stamp 10.30 for this video? Thanks for your help….Spock

Tagged:

Answers

  • This example is close enough. You can modify it to find the bluest pixel or whatever.

    /**
     * Brightness Tracking 
     * by Golan Levin. 
     *
     * Tracks the brightest pixel in a live video signal. 
     */
    
    
    import processing.video.*;
    
    Capture video;
    
    void setup() {
      size(640, 480);
      // Uses the default video input, see the reference if this causes an error
      video = new Capture(this, width, height);
      video.start();  
      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
        float brightestValue = 0; // 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 pixelBrightness = brightness(pixelValue);
            // If that value is brighter than any previous, then store the
            // brightness of that pixel, as well as its (x,y) location
            if (pixelBrightness > brightestValue) {
              brightestValue = pixelBrightness;
              brightestY = y;
              brightestX = x;
            }
            index++;
          }
        }
        // Draw a large, yellow circle at the brightest pixel
        fill(255, 204, 0, 128);
        ellipse(brightestX, brightestY, 200, 200);
      }
    }
    
Sign In or Register to comment.