JavaPCD - Tutorial Pengolahan Citra Digital Berbasis Web
(JavaPCD - A Web-Based Digital Image Processing Tutorial)

(C) 2005 Setyo Nugroho, http://www.snpages.info/
STMIK STIKOM Balikpapan
Jl Kapten P Tendean 2A Balikpapan, Indonesia
[Current version: 1.45]
Bahasa Indonesia | English

Halaman ini berisi tutorial dasar pengolahan citra digital berbasis web dengan menggunakan teknologi Java. Untuk dapat mengakses tutorial ini anda harus menggunakan browser yang mendukung Java applet. Tutorial ini telah diujicoba dan dapat dibuka di Internet Explorer, Firefox, Opera, Konqueror, dan Netscape Navigator. Untuk mendapatkan tampilan yang optimal, disarankan menggunakan resolusi layar minimal 800x600 pixel, dengan kedalaman warna high-color (16-bit) atau lebih tinggi.

Kalau anda tidak dapat melihat tampilan applet di atas tulisan ini, mungkin setting dukungan Java applet pada browser anda tidak diaktifkan (enabled), atau browser anda belum mendukung Java applet.

Pada tutorial ini anda dapat melakukan percobaan secara interaktif untuk memanipulasi citra digital. Fasilitas tutorial yang telah tersedia saat ini adalah:

Hasil manipulasi citra akan langsung ditampilkan di layar.

Pada tutorial bagian 2 anda dapat melakukan eksperimen dengan operasi filtering.

CITRA DIGITAL DAN CONTRAST STRETCHING

Citra didefinisikan sebagai fungsi intensitas cahaya dua dimensi f(x,y) di mana x dan y menunjukkan koordinat spasial, dan nilai f pada suatu titik (x,y) sebanding dengan kecerahan (brigthness) yang biasanya dinyatakan dalam tingkatan abu - abu (gray-level) dari citra di titik tersebut. Citra digital adalah citra dengan f(x,y) yang nilainya didigitalisasi-kan (dibuat diskrit) baik dalam koordinat spasialnya maupun dalam gray level nya. Digitalisasi dari koordinat spasial citra disebut dengan image sampling, sedangkan digitalisasi dari gray-level citra disebut dengan gray-level quantization. Citra digital dapat dibayangkan sebagai suatu matriks dimana baris dan kolomnya menunjukkan gray level di titik tersebut. Elemen-elemen dari citra digital tersebut biasanya disebut dengan pixel, yang merupakan singkatan dari picture elements .

Tujuan pengolahan citra digital adalah untuk mendapatkan citra baru yang lebih sesuai untuk digunakan dalam aplikasi tertentu. Salah satu jenis pengolahan citra adalah yang disebut dengan contrast stretching .
Contrast stretching ini adalah teknik yang digunakan untuk mendapatkan citra baru dengan kontras yang lebih baik daripada kontras dari citra asalnya. Citra yang memiliki kontras rendah dapat terjadi karena kurangnya pencahayaan, kurangnya bidang dinamika dari sensor citra, atau kesalahan setting pembuka lensa pada saat pengambilan citra. Ide dari proses contrast stretching adalah untuk meningkatkan bidang dinamika dari gray level di dalam citra yang akan diproses.

Transformasi Nilai Intensitas Pixel pada Contrast Stretching

Gambar 1.Transformasi Nilai Intensitas Pixel pada Contrast Stretching

Gambar 1 menunjukkan salah satu bentuk transformasi yang dapat digunakan untuk contrast stretching. Disini dapat diasumsikan bahwa citra memiliki range gray antara 0 sampai 255. Pada gambar tersebut, c adalah gray level dari citra sebelum diproses, dan d adalah gray level dari citra setelah diproses. Titik (c1,d1) dan titik (c2,d2) akan menentukan bentuk transformasi, dan dapat diatur untuk menetukan tingkat penyebaran gray level dari citra yang dihasilkan. Jika c1=c2 dan d1=d2, maka transformasi akan berbentuk garis lurus yang berarti tidak ada perubahan gray level dari citra yang dihasilkan. Secara umum diasumsikan c1<=c2 dan d1<=d2 sehingga fungsi akan menghasilkan nilai tunggal dan nilainya akan selalu naik. Untuk menghitung nilai hasil transformasi tersebut, kita dapat membuat tiga fungsi sebagai berikut :

HISTOGRAM

Histogram dari suatu citra digital dengan gray level di dalam range [0,L-1] adalah fungsi diskrit p(rk)=nk/n, dimana :


Jika fungsi ini digambarkan dengan grafik maka akan memberikan deskripsi secara global dari penampakan citra. Gambar 2 menunjukkan histogram dari empat jenis citra secara umum.

Gambar 2. Histogram dari Berbagai Jenis Citra Digital

Gambar 2. Histogram dari Berbagai Jenis Citra Digital

Meskipun histogram hanya menunjukkan sifat-sifat umum dari citra dan tidak memberikan informasi apa pun mengenai isi suatu citra, namun bentuk dari histogram dapat memberikan informasi mengenai kemungkinan untuk melakukan perbaikan kontras citra tersebut.

PENGUBAHAN KECERAHAN GAMBAR (IMAGE BRIGHTNESS)
Image Brightness (pencerahan gambar)adalah suatu teknik untuk membuat citra menjadi lebih terang atau lebih gelap. Kecerahan/kecermelangan gambar dapat dilakukan dengan cara menambahkan(atau mengurangkan) sebuah konstanta dari setiap pixel di dalam citra. Proses Image Brightness menyebabkan histogram dari citra tersebut mengalami perubahan.
Secara matematis proses Image brightness ditulis sebagai :

Nilai pixel hasil pengolahan mungkin kurang dari sama dengan derajat keabuan minimum (0) atau lebih dari sama dengan derajat keabuan maksimum (255). Karena itu,pixel tersebut perlu dilakukan clipping ke nilai keabuan minimum atau ke nilai keabuan maksimum.

Selamat bereksperimen dengan JavaPCD...

Keterangan:
Citra di sebelah kiri adalah citra asal, sedangkan citra di sebelah kanan adalah citra hasil manipulasi. Di bawah masing-masing citra adalah histogram dari citra tersebut. Untuk melakukan perubahan, pilihlah Brightness atau Contrast pada combo box yang tersedia. Kemudian gunakan mouse untuk menggeser scrollbar yang ada. Tombol Reset dapat digunakan untuk mengembalikan citra ke keadaan semula. Jika anda ingin mencoba dengan file citra yang lain, pilihlah pada combo box yang tersedia.

Download Tutorial
Jika anda ingin mencoba tutorial ini dengan citra anda sendiri, silakan download file javapcd.zip (~45 KB), kemudian ekstrak file tersebut ke dalam satu folder di harddisk lokal anda. Setelah itu masukkan file citra anda ke folder tersebut. Kemudian buka file javapcd.htm dengan editor berbasis teks (misalnya Notepad, vi, KWrite, atau GEdit). Lakukan perubahan pada bagian dengan memasukkan nama file citra anda ke dalam daftar file citra yang sudah ada. Gunakan koma untuk memisahkan nama file yang satu dengan yang lain. Setelah itu simpan file javapcd.htm. Selanjutnya gunakan browser internet untuk membuka file javapcd.htm.
Source code program juga tersedia untuk didownload.

Apakah web browser anda tidak dapat menampilkan Java applet?
Jika browser anda tidak dapat menampilkan Java applet, ada dua kemungkinan:
1. Browser anda sudah mendukung Java applet, tapi settingnya tidak diaktifkan (enabled).
2. Browser anda belum mendukung Java applet.
Jika browser anda belum mendukung Java applet, anda dapat menginstal Java Plug-in dari Sun Microsystems, Inc untuk menambahkan dukungan Java applet pada browser anda. Java Plug-in ini dapat bekerja pada web browser Internet Explorer, FireFox, Opera, atau Netscape.
Java Plug-in merupakan bagian dari Java Runtime Environment (JRE) yang dapat didownload secara gratis melalui internet. Untuk keterangan lebih lanjut, silakan kunjungi http://java.sun.com/getjava.

Terima kasih untuk Atisatya yang telah memberikan kontribusi pada beberapa bagian tutorial ini.

Pada Tutorial Bagian 2: JavaPCDFilter, anda dapat melakukan eksperimen dengan operasi filtering, seperti image smoothing, sharpening, dll.

(C) 2005 Setyo Nugroho, http://www.snpages.info/