Pada pembahasan pertemuan 5
ini akan dibahas mengenai bagaimana cara melakukan kontras dan histogram. Pembahasan
mengenai kontras dan histogram akan dibahas satu per satu.
Kontras:
Kontras merupakan tingkat
penyebaran piksel-piksel ke dalam intensitas warna. Kontras yang rendah
dikarenakan kurangnya pencahayaan mengakibatkan intensitas warna berkumpul di
tengah skala intensitas. Sedangkan kontras tinggi dikarenakan terlalu banyak
pencahayaan mengakibatkan intensitas warna berkumpul di awal dan akhir skala
intensitas, sedangkan di tengah sangat kecil frekuensinya.
Suatu kontras dikatakan normal
(tidak tinggi dan tidak rendah) apabila penyebaran piksel tidak terlalu
ekstrem. Operasi kontras dilakukan dengan cara stretching pada histogram.
Fungsi kontras yang kita
gunakan adalah sebagai berikut:
Histogram:
Proses histogram dilakukan
untuk menunjukkan frekuensi kemunculan setiap gradasi warna. Pada histogram,
terdapat dua buah sumbu yang perlu diperhatikan yaitu sumbu x dan sumbu y.
berikut ini keterangan yang menunjukkan sumbu x dan sumbu y:
Sumbu X: Menunjukkan
nilai intensitas
Sumbu Y: Frekuensi kemunculan(banyaknya piksel dengan intensitas
x) pada citra atau kebalikannya tergantung kebutuhan.
Semakin besar bit pada sistem
yang digunakan, semakin banyak variasi intensitasnya, semakin panjang pula
sumbu yang mewakili intensitas nya. Pada citra grayscale, yang digunakan adalah
derajat keabu-abuannya. Sedangkan pada citra RGB yang dipergunakan adalah
intensitas masing-masing channel.
Manfaat dari histogram yang
kita pelajari ini adalah sebagai berikut:
- Indikasi visual untuk menentukan skala intensitas yang tepat, sehingga diperoleh kualitas citra yang diinginkan.
- Pemilihan batas ambang (tresshold). Tresshold merupakan nilai piksel yang memenuhi syarat ambang batas yang dipetakan ke suatu nilai yang dikehendaki.
- Pada computer vision dapat dimanfaatkan sebagai feature.
Sekian penjelasan singkat
mengenai kontras dan histogram. Berikutnya akan dibahas mengenai penerapan
konsep kontras dan histogram pada pembuatan program pengolahan citra.
Pada pembahasan kali ini akan
sedikit berbeda dari pembahasn-pembahasan sebelumnya. Perbedaan yang dimaksud
adalah cara mengambil citra yang biasa kita lakukan di awal penulisan program.
Pada pembahasan ini akan dijelaskan bagaimana mengambil suatu citra menggunakan
parameter. Bagaimana cara penerapan parameter tersebut, akan dijelaskan pada
pembahasan ini. Berikut ini adalah source code program kontras dan histogram
serta penjelasan mengenai pengambilan citra menggunakan parameter:
Penggunaan parameter:
<html>
<head>
<title>Contrast</title>
</head>
<body>
<applet code=Kontras.class width=1500
height=500>
<PARAM NAME = filegambar VALUE="gambar.jpg">
<PARAM NAME = parp VALUE=190>
<PARAM NAME = parg VALUE=3>
</applet>
</body>
</html>
Dari contoh format html di
atas, untuk pembahasan ini digunakan tetapan untuk pembuatan program nantinya
dengan nilai P=190 dan nilai G=3. Setelah kita membuat tampilan html seperti di
atas, pada bagian pengambilan citra kita ganti juga cara pengambilannya menjadi
seperti ini:
Untuk pengambilan parameter,
gunakan methot getParameter();
img=this.getImage(this.getDocumentBase(),getParameter("filegambar"));
parG =
Integer.parseInt(getParameter("parg"));
parP =
Integer.parseInt(getParameter("parp"));
kita sudah mendapatkan cara
membuat parameter dan cara mengambil citra dengan parameter tersebut. Berikut
ini adalah keseluruhan source code program kontras dan histogram:
Tampilan web:
Proses compile:
Memanggil appletviewer:
Hasil Tampilannya adalah
sebagai berikut:
Demikian pembahasan mengenai kontras dan histogram pada pembahasan ke-5 dari pengolahan citra.