BAB II LANDASAN TEORI
2.7. Pengolahan Citra dengan Matlab
Matlab merupakan salah satu bahasa pemerograman yang dikembangkan oleh MathWorks. Matlab tidak hanya berfungsi sebagai alat visualisasi, yang berhubungan langsung dengan ilmu Matematika. Oleh karena itu Matlab semakin banyak digunakan oleh para programmer yang menghedaki kepraktisan dalam membuat program.( Paulus,2007)
Matlab adalah sebuah bahasa (pemerograman dengan unjuk kerja tinggi (hight-performance) untuk komutasi teknis, yang mengintegrasikan komputasi, visualisasi, dan pemerograman di dalam lingkungan yang mudah penggunaanya dalam memecahkan persoalan dengan solusinya yang dinyatakan dengan notasi matematika.( Wijaya, Marvin Ch,2007). Penggunaan Matlab, yaitu :
1. Matematika dann komputasi 2. Pengembangan algoritma
3. Pemodelan, simulasi, dan pembuatan ‘protoipe’ 4. Analisis data, eksporasi dan vvisualisasi
5. Grafik untuk sains dan teknik
6. Pengembangan aplikasi, termasuk pembuatan antarmuka gradis untuk pengguna (Graphical User Interface).
Matlab adalah sebuah sistem interaktif yang menggunakan elemen data dasarnya dalah array yang tidak membutuhkan dimensi. Nama Matlab merupakan singkatan dari ‘matrix laboratory’. Pada awalnya Matlab dibuat untuk mempermudah pengembangan perangkat lunak berbasis matriks oleh proyek LIPACK dan EISPACK. Fitur – fitur Matlab untuk penyelesaian spedifik disebut ‘toolboxes’. Toolboxes adalah kolesi koprehensif dari fungsi – fungsi Matlab (M-file) yang memperlebar lingkungan Matlab dalam meyelesaikan kelas – kelas tertentu dari permasalahan. Beberapa toolbox yang tersedia meliputi bidang : pengolahan sinyal, system kendali, jaringan syaraf (neural network), logika ‘fuzzy’,wavelet, simulasi dan lain sebagainya.( Wijaya, Marvin Ch,2007).
Matlab menyediakan perintah untuk membaca, menulis dan menampikan beberapa tipe dari citra. Matlab menyediakan fasilitas tersebut untuk beberapa tipe citra dibawah ini :
Tabel 2.7 Tipe citra pada Matlab
No. Tipe Keterangan
1 BMP Microsoft Windows Bitmap
2 HDF Hierarchial Data Format
3 JPEG Joint Photograpic Experts Group
4 PCX Paintbrush
5 PNG Portable Network Graphics
6 TIFF Tagged Image File Format
7 XWD X Windows Dump
2.7.1 Pembacaan Citra
Fungsi imread membaca sebubah citra dari file citra yang bertipe di atas dengan berbagai tipe kedalaman warna. Kebanyakan citra yang dibaca mempunyai kedalaman warna 8 bit. Ketika citra seperti itu dibaca, maka Matlab akan menyimpannya dalam tipe data uint8. Jika yang dibaca adalah data 16 bit untuk citra bertipe PNG dan TIFF, maka akan disimpan dalam tipe uint16. Untuk Citra berindeks, fungsi imread selalu menyimpan colomap kedalam tipe double, meskipun array citranya mempunyai tipe uint8 atu uint16. Seperti contoh dibawah ini :
RGB = imread(“coba.jpg”)
Kita dapat menyimpan (save) data citra menggunakan fungsi imwrite, seperti contoh di bwah ini :
load citra
imwrite(X,map,”test.bmp”);
2.7.2 Penyimpanan Citra
Ketika kita menyimpan sebuah citra dengan fungsi imwrite, Matlab secara otomatis akan mengurangi kedalaman bit warna uint8. Banyak citra yang digunakan
dalam Matlab adalah 8 bit, dan kebanyakan tipe citra tidak memerlukan data bertipe double precision. Pengecualian pada aturan Matlab yang menyimpan citra data sebagai uint8 adalah citra bertipe PNG dan TIFF yang disimpan bertipe uint16. Karena kedua tipe citra tersebut mendukung 16 bit, kita dapat menyimpan citra dengan tipe uint16 dengan menggunakan fungsi imwrite, seperti contoh dibawah ini :
imwrite(I,’citra.png’,BitDepth’,16);
2.7.3 Informasi sebuah File Citra
Fungsi imfinfo memungkinkan kita untuk mengambil informasi tentang file citra, dengan tipe citra yang didukung oleh Matlab. Informasi yang kita dapatkan tergantung dari tipe file citranya, tetapi biasanya mencakup :
1. Nama file dan folder-nya 2. Tipe file
3. Versi dari tipe file 4. Tanggal modifikasi 5. Ukuran file
6. Lebar citra (pixel) 7. Tinggi citra (pixel) 8. Ukuran bit ber pixel
9. Tipe citra (RGB/true color, intensitas/Grayscale atau indeks).
2.7.4. Pengubahan Tipe Citra
Image Processing Toolbox menyediakan beberapa fungsi yang memungkinkan kita untuk mengkonveris suatu citra ke dalam tipe yang berbeda. Ketika kita mengkonversikan suatu citra dari satu tipe ke dalam tipe yang lain, hasilnya mungkin berbeda dari citra asalnya. Misalnya jika mengubah citra ber-indeks dan berwarna ke dalam citra berintensitas, hasilnya adalah citra grayscale bukan citra berwarna. Fungsi – fungsi mengkonversi citra sebagai berikut :
1. bither
Membuat sebuah citra biner dari citra berintensitas grayscale dengan melakukan dithering, dan membuat sebuah citra berindeks dari citra RGB dengan dithering.
2. gray2ind
Membuat sebuah citra ber-indeks dari citra berintensitas grayscale
3. grayslice
Membuat sebuah citra ber-indeks dari citra berintensitas grayscale dengan menggunakan thesholding
4. im2bw
Membuat sebuah citra biner dari citra berintensitas, citra berindeks atau citra RGB berdasarkan threshold luminance.
5. ind2gray
Membuat sebuah citra berintensitas grayscale dari citra beindeks.
6. ind2rgb
Membuat sebuah citra RGB dari citra berindeks
7. mat2gray
Membuat sebuah citra berintensitas grayscale dari data dalam sebuah matriks dengan melakukan scaling data.
8. rgb2gray
Membuat sebuah citra berintensitas grayscale dari citra RGB.
9. rgb2ind
Membuat sebuah citra ber-indeks dari citra RGB.
Kita juga dapat melakukan konversi dengan menggunakan sintaks dari Matlab, sebagai contoh, untuk mengkonversikan sebuah citra berintensitas menjadi citra RGB dengan menghubungkan 3 duplikat matriks asli sepanjang dimensi ketiga.
RGB = cat(3,I,I,I);
Hasilnya dalah citra RGB dengan matriks yang sama untuk warna merah, hijau dan biru, sehingga akan muncul citra berwarna abu – abu.
2.7.5. Menampilkan Citra
Pada Matlab, cara untuk menampilkan citra yaitu menggunakan fungsi image. Fungsi ini akan menghasilkan Handle Graphics, dan juga termasuk pengaturan untuk berbagai properties dari objek. Matlab juga memiliki fungsi imagesc, yang mirip dengan fungsi image tetapi fungsi ini akan mengatur skala dari data masukan secara otomatis.
Kakas pengolahan citra Matlab menyedikan rutin tambahan untuk penampilan citra, yaitu imshow. Seperti image dan imagesc, fungsi ini akan menghasilkan sebuah objek Handle Graphics. Tetapi imshow juga secara otomatis mengatur berbagai properties citra dan atribut dari citra untuk mengoptimalkan penampilan.
Tabel 2.8 Fungsi penampilan citra
Fungsi Keterangan
image Menampilkan sebuah objek citra
imagecs Menampilkan citra sekaligus juga mengatur skala citra imshow Menampilkan dan mengatur properties dan atribut citra