import processing.video.*; char[] char_pixel = {'$', '@', 'B', '%', '8', '&', 'W', 'M', '#', '*', 'o', 'a', 'h', 'k', 'b', 'd', 'p', 'q', 'w', 'm', 'Z', 'O', '0', 'Q', 'L', 'C', 'J', 'U', 'Y', 'X', 'z', 'c', 'v', 'u', 'n', 'x', 'r', 'j', 'f', 't', '/', '|', '(', ')', '1', '{', '}', '[', ']', '?', '-', '_', '+', '~', '<', '>', 'i', '!', 'l', 'I', ';', ':', ',', '<', '^', '`', '.', ' ' }; PImage img; size(800, 597); img = loadImage("sample.jpg"); imageMode(CENTER); noStroke(); print(char_pixel.length); textSize(5); noFill(); background(0); for ( int i = 0; i < img.height; i=i+5 ) { beginShape(); for ( int j = 0; j < img.width; j=j+5 ) { color c1 = img.get(j, i); float brightness = map(brightness(c1), 0, 255, 0, char_pixel.length-1); text(char_pixel[int(brightness)], j, i); } endShape(); }