PImage img; size(600, 400); img = loadImage("robotmarko-g.jpg"); loadPixels(); img.loadPixels(); float[][] filter = {{ 0, 1, 0 }, { 1, -4, 1 }, { 0, 1, 0 }}; for (int y = 1; y < img.height-1; y++) for (int x = 1; x < img.width-1; x++) { float response = 0; for (int ky = -1; ky <= 1; ky++) for (int kx = -1; kx <= 1; kx++) { int index = (y + ky) * img.width + (x + kx); float r = brightness(img.pixels[index]); response += filter[ky+1][kx+1] * r; } pixels[y*img.width + x] = color(response); } updatePixels();