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.
1 komentar:
bagi source codenya bang ?
Posting Komentar