Kamis, 25 November 2010

Perataan Histogram (Histogram Equalization) Menggunakan Java Applet

Pada penulisan kali ini kita akan membahas tentang pengolalahan citra digital. Pengolahan citra yang akan kita bahas adalah tentang “Perataan Histogram (Histogram Equalization)”. Dalam pembuatannya kita akan menggunakan Java Applet sebagai media untuk membuat aplikasi pengolahan citra ini. Histogram Equalization / Perataan Histogram adalah suatu proses perataan histogram, dimana distribusi nilai derajat keabuan suatu citra dibuat rata. Untuk dapat melakukan histogram equalization ini diperlukan suatu fungsi distribusi kumulatif yang merupakan kumulatif dari histogram.
Sebelumnya kita harus tahu terlebih dahulu apa itu Java Applet. Java applet adalah sebuah program kecil yang ditulis dengan menggunakan bahasa pemrograman Java, yang diakses melalui halaman Web dan dapat di-download ke dalam mesin klien yang kemudian menjalankannya di dalam jendela penjelajah web. Java applet dapat secara dinamis menambahkan beberapa fungsi kepada halaman-halaman Web yang bersifat statis. Akan tetapi, untuk menjalankannya sebuah komputer harus memiliki program penjelajah web yang dapat menjalankan Java, seperti Microsoft Internet Explorer 4.0 ke atas, Netscape Navigator, Mozilla Firefox, dan Opera.
Ketika sebuah Java applet dibuat, semua pernyataan Java yang terkandung di dalam kode sumbernya akan dikompilasi menjadi Java bytecode, yakni sebuah bahasa mesin semu (virtual engine/machine language) yang dibentuk oleh Java. Berkas yang berisi Java bytecode ini akan disimpan sebagai sebuah berkas kelas Java (Java class file) di dalam sebuah Web server, seperti halnya Apache HTTP Server atau Microsoft Internet Information Services (IIS). Sebuah halaman Web yang hendak menggunakan applet tersebut harus menggunakan tag<APPLET>...</APPLET> di dalam kode sumber-nya. Ketika sebuah penjelajah Web milik klien melakukan request kepada halaman Web tersebut dan menemukan bahwa di dalamnya terdapat tag <APPLET>...</APPLET>, bytecode di dalam Java class file akan dieksekusi oleh mesin semu di dalam jendela penjelajah Web, yang dapat berupa Microsoft Java Virtual Machine atau Java Runtime Engine dari Sun Microsystems.
Untuk penulisan codingnya, kita dapat menggunakan notepad, JCreator, bahkan NetBeans. Untuk penulisan kali ini kita akan menggunakan JCreator sebagai media penulisan Codingnya.
Kemudian kita akan memilih file à New à Project à Basic Java Applet
Lalu klik tombol Next.
Isi nama file yang akan kita gunakan, lalu klik tombol next, lalu finish.
Selanjutnya terlebih dahulu kita akan mendeklarasikan variable-variabel yang akan digunakan didalam program pengolahan citra ini. Serta mendesain tampilan GUI aplikasi ketika di jalankan biar terkihat menarik. Karena kita menggunakan JCreator maka dalam pembuatan GUI nya jadi kita harus mengetikkan Coding GUI nya, seperti penggunaan label, button dan lainnya. Gambar di bawah ini memperlihatkan penggalan coding GUI untuk memperindah tampilan.
Setelah pendeklarasian variable dan penulisan coding GUI selesai, maka kita lanjutkan ke program intinya yaitu program perataan histogram (Histogram Equalization).
void doHistogramEqualization() {
int ix,iy;
int clr;
int cr,cg,cb;
int nr[] = new int[256];
int ns[] = new int[256];
double s;
int g, newg;
// build histogram table
for (int i=0; i<256; i++) nr[i]=0;
for (ix=0; ix<imgw; ix++) {
for (iy=0; iy<imgh; iy++) {
clr = getPixel(ix, iy);
cr = getR(clr) + getG(clr) + getB(clr);
g = cr / 3;
nr[g]++;
}
}
// histogram equalization (see Gonzalez, p. 178)
int npixel = imgw*imgh;
for (int k=0; k<256; k++) {
s = 0;
for (int j=0; j<=k; j++)
s += ((double)nr[j]) / ((double)npixel);
ns[k] = (int) (s * 255);
}
for (ix=0; ix<imgw; ix++) {
for (iy=0; iy<imgh; iy++) {
clr = getPixel(ix, iy);
cr = getR(clr);
g = cr;
newg = ns[g];
setPixel(ix, iy, newg, newg, newg);
}
}
image2 = createImage(misHasil);
//showStatus(“Brightness updated.”);
drawHistogram();
paint(this.getGraphics());
return;
}
Kemudian program di atas kita “build”, sehingga akan membentuk file dengan nama “JavaPCD.class”.
Karena output dari java applet ini harus di jalankan melalui web-browser, maka kita akan membuat script HTML untuk memanggil program ini pada web-browser.

<html>
<head>
<title>Olah Citra</title>
</head>
<body bgcolor=silver>
<table width=100%>
<tr><td bgcolor=silver align=center>
<CENTER>
<APPLET
code     = “JavaPCD.class”
width   = “760″
height   = “450″
alt     = “Maaf, dukungan Java applet pada browser anda tidak diaktifkan (enabled), atau
browser anda tidak mendukung Java applet.”
>
<PARAM NAME=”startimg” VALUE=”Forest.jpg”>
<PARAM NAME=”nextimg” VALUE=”Forest.jpg, Green-Sea-Turtle.jpg, Toco_Toucan.jpg, Tree.jpg”>
</APPLET>
</CENTER>
</td></tr>
</table>
</body>
</html>
Setelah selesai kita dapat menjalankan program dengan mengklik kanan file HTML yang telah kita buat tadi, lalu open with “opera” maka akan keluar tampilan seperti gambar di bawah ini.
Demikian penulisan tugas Pengolahan Citra tentang pembuatan program Histogram Equalization / Perataan Histogram dengan menggunakan Java Applet ini kami buat. Terima kasih atas perhatiannya.

Nama Anggota Kelompok:
  1. Defy Triyanti (50407245)
  2. Akbar Hidayat (50407074)
Kelas: 4IA03
(PENGOLAHAN CITRA)

1 komentar: