histogram - citra digital

28
Citra Digital HISTOGRAM - Matlab

Upload: ahmad-haidaroh

Post on 19-Jul-2015

144 views

Category:

Education


8 download

TRANSCRIPT

Page 1: Histogram - Citra Digital

Citra DigitalHISTOGRAM - Matlab

Page 2: Histogram - Citra Digital

HISTOGRAM

• Adalah menyatakan banyaknya kelompok warna pada setiap warna

• Dinyatakan dalam bentuk grafik baris

• Ada 3 kemungkinan pengelompokan : • Warna gelap grafik mengumpul disebelah kiri

• Warna terang grafik mengmumpul di sebelah kanan

• Warna merata kalau grafik menyebar merata mulai dari kiri ke kanan

Page 3: Histogram - Citra Digital

Contoh

Page 4: Histogram - Citra Digital
Page 5: Histogram - Citra Digital

Perintah melihat histogram

• Menggunakan fungsi imhist

a = imread(‘kopi itam.jpg’);

Imshow(a), figure, imhist(a), axis tight

• Perintah ini hanya diberikan bila gambar bertype gray (double) bukan color

Page 6: Histogram - Citra Digital

Hasilnya :

Page 7: Histogram - Citra Digital

Hasil Gelap

Page 8: Histogram - Citra Digital

Hasil Terang

Page 9: Histogram - Citra Digital

Solusi

• Apabila hasil gambarnya adalah cenderung gelap atau terang, makahistogram akan mengumpul di kiri atau di kanan.

• Agar bagus hasilnya, maka perlu dilakukan proses, sehingga histogram merata dari kiri ke kanan.

• Ada 2 cara, yaitu :1. Pelebaran Histogram

2. Ekualisasi histogram

Page 10: Histogram - Citra Digital

Pelebaran Histogram

• Misalkan didapatkan histogram dari citra sebagai berikut :

• Level keabuan dapat ditarik dengan menerapkan fungsi piecewise linier.

i 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

ni 15 0 0 0 0 70 110 45 70 35 0 0 0 0 0 15

Page 11: Histogram - Citra Digital

Fungsi pelebaran

• Bahwa terlihat, yang memerlukan pelebaran adalah warna no 5, 6,7,8,dan 9

• Pelebaran akan dilakukan mulai dari 2 s/d 14, maka akan diperolehpersamaan untuk mendapatkan nilai baru sebagai berikut :

𝑗 =14−2

9−5𝑖 − 5 + 2

• 14-2 adalah batas pelebaran dan 9-5 adalah level warna ygdilebarkan, (i-5), 5 adalah jumlah warna yang akan dilebarkan.

i 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

ni 15 0 0 0 0 70 110 45 70 35 0 0 0 0 0 15

Page 12: Histogram - Citra Digital

Hasil pelebaran• Dari rumus sebelumnya diperoleh nilai sebaran

warna yang baru.

• Perintah pelebaran :

Imadjust(im,[a,b],[c,d])

i 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

ni 15 0 0 0 0 70 110 45 70 35 0 0 0 0 0 15

i 5 6 7 8 9

j 2 5 8 11 14

Page 13: Histogram - Citra Digital

Perintahnya :

• Imadjust(im,[a,b],[c,d])

• Dapat digambarkan model grafiknya sebagai berikut :

a b

c

dNilai [a,b],[c,d] adalahantara 0 s/d 1

Page 14: Histogram - Citra Digital

Outputnya :

• >> a=imread('kopi itam - copy.jpg');

• >> b=imadjust(a, [],[1,0]);

• >> imshow(b),figure, imhist(b), axis tight

Page 15: Histogram - Citra Digital

Outputnya :

• >> b=imadjust(c, [],[0,1]);

• >> imshow(b),figure, imhist(b), axis tight

Page 16: Histogram - Citra Digital

Outputnya :

• b=imadjust(c, [0,1],[]);

• >> imshow(b),figure, imhist(b), axis tight

Page 17: Histogram - Citra Digital

Ekualisasi Histogram

• Pada adjustment :• input untuk menentukan histogramnya dilakukan oleh user.

Imadjust(im,[a,b],[c,d])

• Tidak diperoleh hasil yang maksimal

• Diperlukan metode lain, yaitu Ekualisasi (equalization).• Tidak diperlukan input yang dimasukkan oleh user imhisteq(namagbr)

• Akan melakukan proses yang terbaik menurut system

• Idenya : mengubah histogram citra menjadi seragam

Page 18: Histogram - Citra Digital

Contoh Ekualisasi dengan Photoshop

Asli lo !!!

Hasil ekualisasi

Adjusment

Page 19: Histogram - Citra Digital

Ekualisasi

Page 20: Histogram - Citra Digital

Perhitungan

• Menggunakan rumus : 𝑒𝑞 =𝑛0+𝑛1+𝑛2+⋯+𝑛𝑖

𝑛(𝐿 − 1)

• Dimana : • 𝑛0 + 𝑛1 + 𝑛2 +⋯+ 𝑛𝑖 adalah frekuensi kemunculan warnanya

• n adalah banyaknya piksel

• L adalah level keabuan tertinggi (mengapa L-1 ? Karena dimulai dari 0 s/d L

• Hasilnya dibulatkan ke integer terdekat

Page 21: Histogram - Citra Digital

Ekualisasi Histogram

• Misalkan didapatkan histogram dari citra sebagai berikut :

i 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

ni 15 0 0 0 0 0 0 0 0 70 110 45 80 40 0 0

Page 22: Histogram - Citra Digital

Hasil Perhitungan

i ni ∑nii (1/24)∑ni eq

0 15 15 0.625 1

1 0 15 0.625 1

2 0 15 0.625 1

3 0 15 0.625 1

4 0 15 0.625 1

5 0 15 0.625 1

6 0 15 0.625 1

7 0 15 0.625 1

8 0 15 0.625 1

9 70 85 3.541667 4

10 110 195 8.125 8

11 45 240 10 10

12 80 320 13.33333 13

13 40 360 15 15

14 0 360 15 15

15 0 360 15 15

0

20

40

60

80

100

120

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

ni

ni

0

2

4

6

8

10

12

14

16

1 1 1 1 1 1 1 1 1 4 8 10 13 15 15 15

eq

eq

1/24 berasal dari15/360,Dimana 15 adalah ∑ni

paling kecil dan 360 paling besar

Page 23: Histogram - Citra Digital

Gambar asal

Page 24: Histogram - Citra Digital

Perintah yg diperlukan

• >> a=imread('kuburan gelap gray.jpg');

• >> b=histeq(a);

• >> imshow(b), figure,imhist(b),axis tight

Page 25: Histogram - Citra Digital

Hasil Ekualisasi dg Matlab

Page 26: Histogram - Citra Digital

Menggelapkan dan menerangkan citra

• Bisa juga dihasilkan citra gelap dari citra hasil ekualisasi

• Caranya adalah dengan membagi nilai pixel dengan pembagi tertentu

• Misalnya pixel citra A dibagi dengan 4:

• Kalau dibagi dengan bilangan pecahan ?

200 100 80 50 25 20

250 200 100 63 50 25

10 10 30 3 3 8

50 60 70 13 15 18

0 0 255 0 0 64

Page 27: Histogram - Citra Digital

>> c=imdivide(b,4);>> imshow(c), figure,imhist(c),axis tight

Page 28: Histogram - Citra Digital

>> d=imdivide(c,0.25);>> imshow(d), figure,imhist(d),axis tight