Anda di halaman 1dari 9

PENGOLAHAN CITRA DIGITAL

HISTOGRAM CITRA




DISUSUN OLEH :
1. DIAN PUSPA SARI 2112T0600
2. HENDRY PURNOMO NUGROHO 2112T0601

PROGRAM STUDI TEKNIK INFORMATIKA
STIMIK HIMSYA
2014
HISTOGRAM CITRA

Informasi penting mengenai isi citra digital dapat diketahui dengan membuat histogram
citra. Histogram citra adalah grafik yang menggambarkan penyebaran nilai-nilai intensitas pixel
dari suatu citra atau bagian tertentu di dalam citra. Dari sebuah histogram dapat diketahui
frekuensi kemunculan nisbi (relative) dari intensitas pada citra tersebut. Histogram juga dapat
menunjukkan banyak hal tentang kecerahan (brightness) dan kontas (contrast) dari sebuah
gambar. Karena itu, histogram adalah alat bantu yang berharga dalam pekerjaan pengolahan citra
baik secara kualitatif maupun kuantitatif.

1. Membuat Histogram
Misalkan citra digital memiliki L derajat keabuan, yaitu dari nilai 0 sampai L 1
(misalnya pada citra dengan kuantisasi derajat keabuan 8-bit, nilai derajat keabuan dari 0 sampai
255). Secara matematis histogram citra dihitung dengan rumus:


yang dalam hal ini,
ni = jumlah pixel yang memiliki derajat keabuan i
n = jumlah seluruh pixel di dalam citra

Plot hi versus fi dinamakan histogram. Gambar dibawah adalah contoh sebuah histogram citra.
Secara grafis histogram ditampilkan dengan diagram batang. Perhatikan dari persamaan diatas,
bahwa nilai ni telah dinormalkan dengan membaginya dengan n. Nilai hi berada di dalam selang
0 sampai 1.


Gb. Histogram Citra

Sebagai contoh, misalkan matriks di bawah ini menyatakan citra dijital yang berukuran 8x8 pixel
dengan derajat keabuan dari 0 sampai 15 (ada 16 buah derajat keabuan):


Tabulasi perhitungan histogramnya ditunjukan pada dibawah. Mudah dilihat bahwa semakin
besar nilai ni maka semakin besar pula nilai hi.
i 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.046875
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
Tabel Perhitungan Histogram

Algoritma perhitungan histogram ditunjukkan pada rumus diatas. Citra masukan
mempunyai 256 derajat keabuan yang nilai-nilainya dari 0 sampai 255. Intensitas pixel disimpan
di dalam Image[0..N-1][0..M-1], sedangkan histogram disimpan di dalam tabel Hist[0..255].
Histogram citra banyak memberikan informasi penting sebagai berikut:
1. Nilai hi menyatakan peluang (probability) pixel, P(i), dengan derajat keabuan i. Jumlah
seluruh nilai hi sama dengan 1, atau


Peluang suatu pixel memiliki derajat keabuan lebih kecil atau sama dengan derajat keabuan
tertentu adalah jumlah hi untuk 0 <= i <= j, atau


2. Puncak histogram menunjukkan intensitas pixel yang menonjol. Lebar dari puncak
menunjukkan rentang kontras dari gambar. Citra yang mempunyai kontras terlalu terang
(overexposed) atau terlalu gelap (underexposed) memiliki histogram yang sempit. Histogramnya
terlihat hanya menggunakan setengah dari daerah derajat keabuan. Citra yang baik memiliki
histogram yang mengisi daerah derajat keabuan secara penuh dengan distribusi yang merata pada
setiap nilai intensitas pixel.

Gb. (a) citra gelap, (b) citra terang, (c) citra normal (normal brightness), (d) normal
brightness dan high contrast


Contoh gambar asli dengan histogramnya menggunakan Matlab:
>> p=imread('chinmi.jpg');
>> k = rgb2gray(p);
>> imshow(p),figure,imhist(k),axis tight








Gb. Original Gb. Histogramnya

0
2000
4000
6000
8000
10000
12000
14000
16000
18000
0 50 100 150 200 250
2. Perataan Histogram
Teknik perataan histogram merupakan gabungan antara penggeseran dan pelebaran
histogram. Tujuan yang akan dicapai pada teknik ini adalah untuk mendapatkan citra dengan
daerah tingkat keabuan yang penuh dan dengan distribusi pixel pada setiap tingkat keabuan yang
merata. Dengan kata lain, Tujuan dari perataan histogram ini adalah untuk memperoleh
penyebaran histogram yang merata, sedemikian sehingga setiap derajat keabuan memiliki jumlah
pixel yang relative sama.
Perataan histogram mengubah derajat keabuan suatu pixel (r) dengan derajat keabuan
yang baru dengan suatu fungsi transformasi T, dimana s=T(r).Sifatnya:
Nilai s adalah pemetaan 1 ke 1 dari r, sehingga r dapat diperoleh dari transformasi invers

r = T-1(s) , 0 <= s <= 1

Untuk 0<= ri <= 1, maka 0 <= T(r) <=
Seperti yang diketahui sebelumnya, bahwa dari sekian banyaknya warna yang ada dalam
suatu gambar itu terdiri atau terbentuk dari perpaduan tiga warna dasar yaitu merah, hijau, dan
biru atau yang lebih dikenal dengan sebutan RGB. Histogram suatu gambar ini bertujuan untuk
menampilkan tingkat masing-masing RGB dari suatu gambar.
Fungsi yang disediakan MATLAB untuk membuat histogram dari gambar yaitu dengan
fungsi imhist(matrik_1_dimensi_image).Perlu diperhatikan bahwa imhist hanya dapat digunakan
untuk matrik image 1 dimensi sehingga bila diimplementasikan pada matriks gambar maka
hanya berupa matriks merah saja, hijau saja, biru saja atau grayscale.
Perataan histogram bertujuan untuk mendapatkan histogram citra dengan distribusi
seragam. Langkah-langkah melakukan ekualisasi histogram:
a. Baca image dan dapatkan nilai tingkat keabuan dari setiap pixel penyusunnya, dan
simpan dalam array. Gunakan fungsi imread().
b. Cari nilai maksimum tingkat keabuan citra tersebut. Nilai ini nantinya akan dipakai untuk
menentukan histogram ekualisasinya. Gunakan fungsi max()
c. Buat histogram citra asal. Simpan frekuensi kemunculan derajat keabuan tersebut dalam
array(vector). Mula-mula kita siapkan array(vector) kosong yang ukurannya mengacu
kepada nilai maksimum derajat keabuan citra dibulatkan ke 2n. Untuk selajutnya hitung
frekuensi kemunculan derajat keabuan pada masing-masing posisi vector.
d. Buat histogram ekualisasinya. Histogram ekualisasi dicari dengan menghitung prosentase
kemunculan derajat keabuan yang ada dikalikan dengan derajat keabuan maksimum dari
citra asal.
e. Cari nilai tingkat keabuan dari citra bari hasil ekualisasi dengan menggunakan histogram
ekualisasinya.
f. Untuk memetakan histogram ekualisasi menjadi citra baru, kita siapkan array (matrik)
kosong yang ukurannya sama dengan citra asal. Selanjutnya masing-masing nilai matrik
baru dihitung dari nilai histogram ekualisasi bedasarkan nilai matrik gambar lama.
g. Petakan ke citra baru.
Dengan menggunakan MatLab algoritma tersebut dapat diimplementasikan sebagai
berikut:
>> i = imread('chinmi.jpg');
>> k = rgb2gray(i);
>> j = histeq(k);
>>subplot(2,2,1),imshow(i),subplot(2,2,2),imshow(j),subplot(2,2,3),imhist(k),subplot(2,2,4),imhist
(j)











0
2000
4000
6000
0 100 200
0
2000
4000
6000
8000
0 100 200

Pada MatLab, untuk membuat Perataan Histogram dapat menggunakan fungsi histeq.
Gambar dikonversikan ke derajat pengabuan, menggunakan citra truecolor yaitu RGB dengan
warna gray (abu-abu) dengan perintah rgb2gray. Dalam contoh diatas, kuadran pertama
merupakan gambar asli, kuadran kedua merupakan gambar yang sudah diubah ke dalam bentuk
Grayscale. Untuk kuadran ketiga adalah histogram dari gambar aslinya. Sedangkan kuadran
keempat merupakan histogram yang sudah diolah dengan teknik perataan histogram melalui
fungsi histreq di Matlab.
























DAFTAR PUSTAKA


An Introduction to Digital Image Processing with Matlab by Alasdair Mc Andrew

http://debyoktavia68.blogspot.com/2012/11/pengolahan-citra-histogram_13.html

http://resariski.wordpress.com/2011/12/04/histogram-dan-perataan-histogram/

Buku Pengolahan Citra Digital by Renaldi Munir 2011