jtaylor 
		
		YaBB Newbies
		 
		Offline 
		
		
		Posts: 1
		
		
		
		
 
	 
	
		
			
				load image(s) based on brightness of video pixels  
				 Mar 20th , 2007, 6:48pm 
			 
			
				
	  
			 
		
		
			I'm not sure if I have this question worded correctly but... I have a live video feed and I am animating an array of images based on the brightness of the pixels from live video. I've seen this done before.  Not sure who did it and didn't know how it was achieved so this was my first guess. I'm trying to figure out how to smooth out the animation. I can post the image sequence to a website if anyone wants them.  I haven't cleaned up my code but here it is. PS... I'm a total hack at coding and I love Processing!!! import processing.opengl.*;  import processing.video.*;    // Size of each cell in the grid  int cellsize = 50;  // Number of columns and rows in our system  int cols, rows;  // Variable for capture device  Capture video;  int numFrames = 99;  // The number of frames in the animation int frame = 0; int framenum; PImage[] images = new PImage[numFrames]; void setup()  {    size(800,600,OPENGL);//could be P3D but OPENGL is smoother   frameRate(30);    //set up columns and rows    cols = width/cellsize;    rows = height/cellsize;    colorMode(RGB,255,255,255,50);        // Using the default capture device    video = new Capture(this, 800, 600, 30);     //loading all the frames of the flower  for(int i=0; i<numFrames; i++) {   String imageName = "flower_" + ((i < 99) ? "0" : "") + i + ".png";   images[i] = loadImage(imageName);  }   background(0);    }    void captureEvent(Capture camera)  {    camera.read();  }    //void movieEvent(Movie myMovie) { //  myMovie.read(); //}   void draw()  {     background(50,50,150);      // Begin loop for columns    for ( int i = 0; i < cols;i++) {      // Begin loop for rows      for ( int j = 0; j < rows;j++) {            // Where are we, pixel-wise?         int x = i*cellsize;     int y = j*cellsize;          int loc = (video.width - x - 1) + y*video.width;    // Get RGB values from image   float r = red(video.pixels[loc]);   float g = green(video.pixels[loc]);   float b = blue(video.pixels[loc]);  float sz = (brightness(video.pixels[loc])/128.0f)*(cellsize*3);    tint(r,g,b, sz);    //make sure sz doesn't go over 99 frames   if (sz >= 98){     frame = 98;     }else{     frame = int(sz);     }   image(images[frame], x, y); }   }  }