/* * This version of grayscaling is based on taking uniform * average of red,green,blue for each pixel. Unfortunately, * such an average is not very pleasing. * * See grayscale_luminosity for better approach. */ PImage slu; int w,h; void setup() { size(408,300); // take advantage of our knowledge of the size // Can either load an image stored locally, as follows: // slu = loadImage("campus4.jpg"); // Or can load an image from a URL as follows: slu = loadImage("http://business.slu.edu/uploads/2012/11/08/slu-homepage-campus4.jpg"); w = slu.width; h = slu.height; for (int x=0; x < w; x++) { for (int y=0; y < h; y++) { color c = slu.get(x,y); float gray = (red(c) + green(c) + blue(c))/3; // divide sum by 3 to average color replace = color(gray); slu.set(x,y,replace); } } // time to display it image(slu, 0, 0); }