PERANCANGAN DAN PEMBUATAN APLIKASI UNTUK MEMPERBAIKI CITRA DIGITAL
1. Pendahuluan Citra / gambar merupakan hal yang vital dan menjadi bagian integral dari kehidupan sehari-hari. Pada kepentingan tertentu, citra (gambar) digunakan sebagai alat untuk mengungkapkan pertimbangan (reason), interpretasi, ilustrasi, penggambaran (represent), ingatan, pendidikan, komunikasi, evaluasi, navigasi survai, hiburan, dan lain sebagainya. Dewasa ini perkembangan teknologi semakin pesat. Salah satu hasil perkembangan teknologi tersebut adalah teknologi pengolahan citra. Banyak sekali aplikasi pada dunia elektronika dengan menggunakan teknologi pengolahan citra seperti video digital, robotika dan masih banyak lagi. Pada makalah ini akan dibahas pembuatan aplikasi untuk pengolahan citra. Adapun fasilitas pada aplikasi yang dikembangkan ini adalah fasilitas pengolahan citra digital yaitu pengaturan tingkat kecerahan (brightness), tingkat kontras warna (contrast) serta tigkat kesimbangan warna (color balance). Untuk memperbaiki kualitas gambar yang kurang baik terdapat fasilitas metode perbaikan citra digital seperti penghilangan noise (metode gaussian), dan penambahan ketajaman gambar (spatial sharpening). Penggabungan metode-metode tersebut diharapkan mampu menambah kualitas citra. Selain itu juga terdapat fasilitas untuk memberikan efek pada citra digital yaitu negatif, grayscaling serya sephia.
2. Pengolahan Citra Digital Pengolahan citra adalah suatu metode yang digunakan untuk memproses atau memanipulasi gambar dalam bentuk 2 dimensi. Pengolahan citra juga dikatakan sebagai operasi untuk memperbaiki, menganalisa, atau mengubah suatu gambar. Pada umumnya tujuan dari pengolahan citra adalah mentransformasikan atau menganalisis suatu gambar sehingga informasi baru tentang gambar dibuat lebih jelas.
Terdapat empat klasifikasi dasar dalam pengolahan citra yaitu point, area, geometri, dan frame. Pada operasi point, pemrosesan nilai piksel suatu citra dilakukan berdasarkan nilai dan posisidari piksel tersebut. Termasuk di dalam operasi point ini adalah brightness, kontras, color balance, negatif, gray scaling serta sephia. Pada operasi area, pemrosesan nilai piksel suatu citra dilakukan berdasarkan nilai piksel tersebut beserta nilai piksel sekelilingnya. Termasuk di dalam operasi area ini adalah sharpening dan smoothing. Operasi geometri digunakan untuk mengubah posisi lain yang dikehendaki. Termasuk di dalam operasi geometri ini adalah translasi, scaling, rotasi dan flip.
2.1. Brightness dan Contrast Di dalam ruangan, seringkali kita perlu mangatur intensitas lampu agar ruangan menjadi lebih terang atau lebih gelap. Dalam dunia pengolahan citra, hal itu disebut pengaturan brightness dimana dapat dilakukan dengan cara meningkatkan atau menurunkan nilai piksel dari seluruh bagian dalam citra tersebut. Penyesuaian tingkat brightness dan contrast pada suatu gambar biasanya dilakukan dengan menggunakan fungsi sliding dan stretching histogram. Operasi histogram sliding dilakukan dengan penambahan atau pengurangan brightness secara konstan di semua piksel pada gambar. Operasi sliding biasanya dikenal untuk menambahkan ‘offset’ pada brightness gambar. Sedangkan operasi histogram stretching adalah perkalian atau pembagian tiap piksel dengan nilai konstan. Operasi stretching biasanya dikenal untuk menambahkan ‘gain’ pada brightness gambar.
2.2. Smoothing dan Sharpening Proses smoothing dan sharpening dapat dilakukan pada domain spatial ataupun frekuensi. Pada dasarnya kedua proses tersebut dapat dilakukan dengan cara yang sama, hanya menggunakan parameter yang berbeda Untuk proses pada domain spatial dapat dilakukan dengan melakukan konvolusi antara gambar dengan matriks yang biasanya berukuran 3x3 atau 5x5. Adapun perbedaan antara proses smoothing dan proses sharpening adalah pada isi matriks yang digunakan. Berikut ini ditampilkan matriks untuk kedua operasi.
1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 Average
1/10 1/10 1/10 1/10 2/10 1/10 1/10 1/10 1/10 Lowpass1
1/12 1/12 1/12 1/12 4/12 1/12 1/12 1/12 1/12 Lowpass2
1/20 1/20 1/20 1/20 12/20 1/20 1/20 1/20 1/20 Lowpass3
1/16 2/16 1/16 2/16 4/16 2/16 1/16 2/16 1/16 Gaussian Gambar 1. Matriks untuk Proses Smoothing Proses smoothing mempunyai efek untuk melewati atau tidak memproses komponen yang mempunyai frekuensi spatial rendah dari sebuah gambar. Komponen yang berfrekuensi tinggi ditipiskan dan tampak memudar pada gambar hasil.
-1
-1
-1
0
-1
0
1
-2
1
0
-1/16
0
-1
9
-1
-1
5
-1
-2
5
-2
-1/16
20/16
-1/16
-1
-1
-1
0
-1
0
1
-2
1
0
-1/16
0
Mean removal
Highpass1
Highpass2
Highpass3
Gambar 2. Matriks untuk Proses Sharpening Proses sharpening mempunyai efek kebalikan dari proses smoothing, dimana pada proses sharpening menonjolkan komponen berfrekuensi spatial tinggi dan membiarkan komponen berfrekuensi rendah tetap seperti asalnya / tidak diproses. 2.3. Operasi Geometri Operasi geometri ini terdiri dari translasi, scaling, rotasi serta flip. Operasi translasi adalah operasi untuk mengubah posisi gambar melakukan penambahan atau pengurangan baik koordinat x dan atau koordinat y suatu citra. Sedangkan operasi scaling
adalah operasi untuk memperbesar atau memperkecil ukuran gambar. Proses ini dilakukan dengan mengalikan dengan faktor kurang dari satu untuk pengecilan. Operasi rotasi digunakan untuk memutar gambar dengan mengalikan posisi x dan y dengan sebuah matriks. Operasi flip digunakan untuk mencerminkan gambar dimana pencerminan ini dapat dilakukan secara horizontal atau vertikal.
2.4. Median Filter Median filter cocok digunakan untuk menghilangkan noise dari suatu gambar. Median filter bekerja dengan mengevaluasi tingkat brightness dari suatu piksel dan menentukan piksel mana yang tingkat brightness-nya adalah nilai median (nilai tengah) dari semua piksel. Nilai median ditentukan dari menempatkan brightness piksel pada urutan yang bertingkat dan memilih nilai tengah, sehingga angka yang didapat dari brightness piksel yang ada menjadi kurang dari dan lebih dari nilai tengah yang didapat.
3. Desain Sistem Berikut ini ditampilkan diagram alir dari aplikasi yang digunakan untuk memperbaiki citra pada video digital. Sebelum melakukan implementasi, langkah yang perlu dilakukan adalah membuat desain sistem. Secara umum aplikasi perbaikan citra video ini dibagi menjadi 6 bagian utama yaitu :
Proses membuka file AVI.
Proses membuka stream video.
Proses mengambil frame yang diinginkan.
Proses filtering pada frame.
Proses menampilkan frame.
Proses penyimpanan file AVI
Flowchart sistem keseluruhan terdapat pada gambar di bawah ini.
Gambar 3. Flowchart Keseluruhan Sistem
4. Implementasi dan Hasil Pengujian Implementasi aplikasi ini dilakukan dengan menggunakan bahasa pemrograman Visual C++ .NET. yang didukung oleh library vfw32.lib. Pada implementasi ini dilakukan pengkodean semua proses yang terdapat pada desain sistem serta dikodekan pula filter yang dapat digunakan pada aplikasi ini yang meliputi pengaturan brightness dan contrast, smoothing dan sharpening, serta operasi geometri. Adapun tampilan perangkat lunak terdapat pada gambar di bawah ini.
Gambar 4. Tampilan Perangkat Lunak
Pada perangkat lunak ini, frame yang sedang aktif akan tampil di bagian utama window, dimana frame ini dapat dipilih dengan menggunakan slider yang terdapat di bagian bawah. Sedangkan di bagian kanan terdapat informasi AVI dan Bitmap yang aktif. Dibagian bawah informasi tersebut terdapat pilihan untuk menentukan filter yang hendak diterapkan pada frame yang sedang aktif serta terdapat pula slider untuk menentukan parameter filter pada domain frekuensi dan pengaturan brightness serta contrast. Setelah selesai implementasi, dilakukan pengujian dengan menerapkan semua filter ke beberapa file AVI serta menyimpan kembali file yang telah diubah tersebut. File AVI yang dihasilkan dicoba dijalankan pada program Windows Media Player untuk menguji perbedaan dengan file awal. Hasil dari pengujian ini adalah bahwa semua filter sudah dapat diterapkan ke file AVI dengan baik dan dengan memilih filter yang tepat, maka kualitas video dapat meningkat.
5. Kesimpulan Dari hasil pengembangan aplikasi serta penggunaannya, dapat ditarik kesimpulan sebagai berikut :
1. Brightness dengan nilai yang terlalu besar atau kecil tidak efektif karena akan mengakibatkan gambar asli tidak kelihatan. Pengaturan color balance pada sebuah gambar dimana setiap unsur warna berada pada suatu nilai yang sama akan menghasilkan gambar yang sama dengan pengaturan brightness pada nilai tersebut. 2. Proses perbaikan kualitas video memerlukan filter yang tepat dimana pemilihan ini tidak dapat dilakukan secara otonatis tetapi ditentukan oleh pengguna. 3. Secara umum, hasil dari penerapan sebuah filter pada file video dengan menggunakan domain spatial tidak mempunyai banyak perbedaan dengan penerapan filter tersebut pada domain frekuensi.