/*Drew Cogbill ex40.12 and Image 4_2 [computation08]*/ //2D Array float[][] kernel = { { -1, -1.4, -1 }, { -2, 4, 2 }, { -1, 0, 0.9 } }; PImage img = loadImage("trista.jpg"); size(img.width, img.height); img.loadPixels(); PImage edgeImg = createImage(img.width, img.height, RGB); for (int y = 1; y < img.height-1; y++) { for (int x = 1; x < img.width-1; x++) { float redsum = 0; float greensum = 0; float bluesum = 0; for (int ky = -1; ky <= 1; ky++) { for (int kx = -1; kx <= 1; kx++) { int pos = (y + ky)*width + (x + kx); float redval = red(img.pixels[pos]); float greenval = green(img.pixels[pos]); float blueval = blue(img.pixels[pos]); redsum += kernel[ky+1][kx+1] * redval; greensum += kernel[ky+1][kx+1] * greenval; bluesum += kernel[ky+1][kx+1] * blueval; } } edgeImg.pixels[y*img.width + x] = color(redsum, greensum, bluesum); } } edgeImg.updatePixels(); image(edgeImg, 0, 0);