Visual Programming Processing Menghitung Histogram


Setelah sebelumnya perkenalan tentang visual programming Processing, pada tutorial kali ini akan membahas tentang bagaimana menghitung nilai histogram dari suatu gambar. Nilai histogram ialah distribusi frekuensi gray level. Tingkat nilai Hitam murni ada pada sisi kiri sedangkan nilai Putih murni ada pada sisi kanan. Semakin Hitam suatu gambar maka distribusi histogram semakin tinggi di sisi kiri, sebaliknya bila semakin Putih suatu gambar maka distribusi histogram semakin tinggi di sisi kanan.
Berikut ini ialah source code (sketch) Processing untuk menampilkan histogram.

/*
Processing histogram
Loki Lang
*/

size(640, 360);

PImage img = loadImage("image.JPG"); //disesuaikan nama gambar
img.resize(640, 360);
image(img, 0, 0);
int[] hist = new int[256];

for (int i = 0; i < img.width; i++)
{
  for (int j = 0; j < img.height; j++)
  {
    int bright = int(brightness(get(i, j)));
    hist[bright]++;
  }
}

int histMax = max(hist);

stroke(255);
for (int i = 0; i < img.width; i += 2)
{
  int which = int(map(i, 0, img.width, 0, 255));
  int y = int(map(hist[which], 0, histMax, img.height, 0));
  line(i, img.height, i, y);
}


Sebagai catatan untuk source code (sketch) dan gambar yang akan dimuat, harus disesuaikan namanya. Dalam hal ini tutorial menggunakan hambar dengan nama 'image.JPG', yang mana disimpan di directory yang sama dengan file pde histogram tersebut. Bila source code (sketch) histogram dan gambar yang akan dimuat tersebut tidak dalam satu directory, maka akan ditemukan pesan error.
Berikut ini ialah hasil histogram.

<img src="histogram.png" alt="histogram">