Pages

Tuesday 27 December 2011

Memahami Histogram Java (Reza Budi 58409013 4IA11)

Histogram citra adalah grafik yang menggambarkan penyebaran nilai-nilai intensitas pixel dari suatu citra atau bagian tertentu di dalam citra. Histogram juga dapat menunjukkan banyak hal tentang kecerahan (brightness) dan kontras (contrast) dari sebuah gambar. Secara grafis histogram ditampilkan dengan diagram batang



Misal citra digital memiliki L derajat keabuan. (misalnya citra dengan kuantisasi derajat keabuan 8-bit, nilai derajat keabuan dari 0 – 255) secara matematis dapat dihitung dengan rumus :

Dimana ni = jumlah pixel yang memiliki derajat keabuan I
n = jumlah seluruh pixel di dalam citra
Sebagai contoh matrik citra berukuran 8 x 8 dengan derajat keabuan dari 0 sampai 15 ( ada 16 buah derajat keabuan)




ni Hi=ni/n (n=64)
0 8 0.125
1 4 0.0625

2 5 0.078125
3 2 0.03125
4 2 0.03125
5 3 0.046875
6 1 0.015625
7 3 0.0156875
8 6 0.09375
9 3 0.046875
10 7 0.109375
11 4 0.0625
12 5 0.078125
13 3 0.046875
14 4 0.0625
15 3 0.046875

Semakin besar nilai ni maka semakin besar pula nilai hi

Dalam tugas ini saya membuatnya dengan menggunakan bahasa Java. Untuk memanggil gambar saya menggunakan jFileChooser. Lalu setelah mendapatkan gambarnya saya masukkan ke dalam Buffered image, untuk menghitung width dan height dari gambar itu. Lalu dengan pengulangan sebanyak width x height, saya hitung RGB dari gambar, sehingga dihasilkanlah sebuah histogram dari image yang saya panggil.

Untuk bisa memainkan nilai histogram saya membuat sebuah slider. Dimana rumus hitungannya adalah bila jumlah rata2 penambahan RGB < dari treshold yang dimasukkan akan mengembalikan nilai RGB, sebaliknya akan berkurang menjadi hitam. Berikut coding dari program yang saya maksud Berikut tampilan dari coding Java yang saya buat:



tampilan ketika memanggil gambar:

tampilan histogram awal gambar:




tampilan ketika slider di geser:



Untuk mendownload project:
Histogram Java



Selengkapnya...