Pengantar
Dalam pengolahan citra, matlab sering kali dijadikan salah satu pilihan tools. Mengapa? Karena dengan menggunakan
Matlab, kerumitan-kerumitan yang harus dilakukan dalam bahasa pemrograman dapat dihindarkan. Dalam tutorial kali
ini, kita akan membahas 3 fungsi matlab yang cukup penting dalam pengolahan citra.
Kalau di java, kita perlu mengerti konsep Java Graphical User Interface (GUI) programming yang terdapat dalam
package Swing, di Matlab, kita hanya perlu mengetahui perintah-perintah penting saja.
Untuk membaca file citra, kita dapat menggunakan perintah imread yang berarti image read. Output dari imread ini
berupa matrix citra yang mirip dengan apa yang telah dibahas pada artikel berikut ini. Matrix citra ini bisa berupa matrix 3
dimensi untuk citra berwarna, ataupun matrix 2 dimensi untuk citra monokrom.
1: [matrixCitra] = imread('fruit.jpeg');
Pada potongan di atas, matlab akan membaca file citra yang bernama fruit.jpeg, dan menyimpan semua data citra
tersebut di variable matrixCitra.
Langkah selanjutnya ketika kita sudah mempunyai data citra. Kita dapat menampilkannya. Bagaimana caranya? sangat
mudah! yaitu dengan menggunakan perintah imshow yang berarti image show.
1: imshow(matrixCitra);
Di sini keunggulan Matlab. Karena Matlab sudah menyediakan GUI tempat di mana citra ditampilkan.
Pengubahan data citra sangat lazim dilakukan. Proses ini adalah inti dari pengolahan citra. Segala macam algoritma
dapat dijalankan pada langkah ini. Ok, dalam tutorial kali ini, kita akan mencoba untuk mengubah citra menjadi citra
monokrom. Rumus untuk mengubah citra menjadi citra monokrom dapat dilihat pada artikel ini.
2: ) / 3;
3: matrixCitra(:,:,1) = Monokrom;
4: matrixCitra(:,:,2) = Monokrom;
5: matrixCitra(:,:,3) = Monokrom;
Variable Monokrom merupakan variable sementara yang menampung hasil rata-rata dari komponen RGB pada setiap
pixel. Tanda titik tiga (...) mengartikan bahwa baris 2 dan baris 1 adalah 1 baris.
Pertanyaannya adalah, kan kita harus merata-rata nilai RGB pada setiap pixel. Mengapa tidak ada For atau Looping di
sini???? Yes! ini adalah keunggulan Matlab. Matlab dapat melakukan pertambahan secara matrix. Jadi kalimat pada
baris satu bisa dibaca seperti berikut:
"Tambahkan matrix red dengan matrix green dengan matrix blue. Lalu bagi dengan sebuah nilai skalar yang bernilai 3.
Simpan hasil operasi matrix tersebut pada matrix yang bernama Monokrom"
Dalam pengolahan citra, saya sangat menganjurkan untuk menghindari looping atau for sebanyak mungkin sehingga
kita dapat menggunakan keunggulan Matlab secara maksimal.
Lalu berikutnya adalah, bagaimana dengan baris 3, 4 dan 5? Apa itu maksudnya? Begini penjelasannya. Pada baris 1
dan 2, kita telah melakukan operasi monokrom. Apa yang terjadi? Yang terjadi adalah citra hasil operasi tersebut
kehilangan informasi warnanya (hanya mempunyai 1 komponen informasi). Pada citra berwarna, sebenarnya ini berarti
ketiga komponen memiliki nilai yang sama. Jadi, pada ketiga baris ini lah kita memasukan nilai yang sama pada setiap
komponen warna.
Sebenarnya ada banyak cara untuk membuat monokrom sepanjang kita memberikan informasi yang sama pada setiap
komponen. Jadi bisa saja seperti ini.
1: matrixCitra(:,:,2) = matrixCitra(:,:,1);
2: matrixCitra(:,:,3) = matrixCitra(:,:,1);
Langkah terakhir dalam pengolahan citra biasanya menyimpan data citra ke dalam file. Untuk melakukan hal ini, Matlab
menyediakan fungsi yang bernama imwrite yang berarti image write. Matlab mensupport beberapa jenis format
penyimpanan citra. Silahkan ketik help imwrite untuk mengetahui lebih lanjut mengenai format-format yang didukung
oleh Matlab.
1: imwrite(matrixCitra,'FruitModifed.jpeg');
Sangat mudah? Tentunya. Apa yang dilakukan pada potongan kode di atas adalah membuat sebuah citra yang bernama
FruitModified.jpeg dan menyimpan data citra yang bernama matrixCitra ke dalam file tersebut dengan format
penyimpanan bertipe jpeg.
Program keseluruhan
Berikut ini adalah script Matlab secara utuh yang dijelaskan pada tutorial ini.
3: matrixCitra = imread('Fruit.jpeg');
4:
7: ) / 3;
8: matrixCitra(:,:,1) = Monokrom;
9: matrixCitra(:,:,2) = Monokrom;
11:
13: imshow(matrixCitra);
14:
http://pengolahancitra.com Powered by Joomla! Generated: 11 October, 2010, 11:26
Situs Pengolahan Citra | Digital Image Processing
16: imwrite(matrixCitra,'FruitModified.jpeg');
Biasanya dalam pekerjaan sehari-hari, saya sering menggunakan Matlab untuk menciptakan algoritma baru. Mengapa
Matlab? Karena dengan Matlab, kita dapat langsung bekerja ke dalam problem yang kita hadapi (langsung dapat
mengoperasikan citra) tanpa harus mengurusi hal-hal seperti GUI.