Facebook
From Little Finch, 7 Years ago, written in Java.
Embed
Download Paste or View Raw
Hits: 319
  1. float[][] kernel = { { 0, 0, 0 },
  2.                      { 1,  0, -1 },
  3.                      { 0, 0, 0 } };
  4.  
  5.  
  6. PImage img = loadImage("aula01.jpg");
  7. int w = img.width;
  8. int h = img.height;
  9. size(2*w,h);
  10. image(img, 0, 0);
  11. img.loadPixels();
  12. PImage edgeImg = createImage(img.width, img.height, RGB);
  13. for (int y = 1; y < img.height-1; y++) {
  14.   for (int x = 1; x < img.width-1; x++) {
  15.     float sum = 0;
  16.     for (int ky = -1; ky <= 1; ky++) {
  17.       for (int kx = -1; kx <= 1; kx++) {
  18.         int pos = (y + ky)*img.width + (x + kx);
  19.         float val = red(img.pixels[pos]);
  20.         sum += kernel[ky+1][kx+1] * val;
  21.       }
  22.     }
  23.     edgeImg.pixels[y*img.width + x] = color(sum);
  24.   }
  25. }
  26. edgeImg.updatePixels();
  27. image(edgeImg, w, 0);