Menu Content/Inhalt
Home arrow Tutorial arrow Tutorial arrow Cara membaca dan menampilkan file citra dengan Matlab

Sponsored Links

Cara membaca dan menampilkan file citra dengan Matlab PDF  | Print |

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.

 

Membaca file 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.

Berikut ini adalah contohnya.

 

   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.

 

Menampilkan data citra

Langkah selanjutnya ketika kita sudah mempunyai data citra. Kita dapat menampilkannya. Bagaimana caranya? sangat mudah! yaitu dengan menggunakan perintah imshow yang berarti image show.

Berikut adalah salah satu contohnya.

   1: imshow(matrixCitra);

Di sini keunggulan Matlab. Karena Matlab sudah menyediakan GUI tempat di mana citra ditampilkan.

 

Memodifkasi data citra

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.

Berikut ini adalah implementasi pada Matlab.

   1: Monokrom = (matrixCitra(:,:,1) + matrixCitra(:,:,2) + matrixCitra(:,:,3) ...
   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);

Dijamin citranya menjadi citra monokrom.

Menyimpan data citra ke dalam file

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.

Berikut ini adalah contoh penggunaan imwrite.

   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.

   1: % Skrip tutorial citra
   2: % Membaca file Citra
   3: matrixCitra = imread('Fruit.jpeg');
   4:  
   5: % Membuat citra menjadi monokrom
   6: Monokrom = (matrixCitra(:,:,1) + matrixCitra(:,:,2) + matrixCitra(:,:,3) ...
   7:      ) / 3;
   8: matrixCitra(:,:,1) = Monokrom;
   9: matrixCitra(:,:,2) = Monokrom;
  10: matrixCitra(:,:,3) = Monokrom;
  11:  
  12: % Menampilkan Citra hasil operasi
  13: imshow(matrixCitra);
  14:  
  15: % Menyimpan citra 
  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.

Bila ada yang kurang jelas, silahkan add comment yah!

Comments
Add New Search RSS
rozi   |222.124.193.xxx |2009-02-27 19:44:33
mbak bleh minta dikirim bahan tutorial/ajar peng citra digital dg matlab?

thx
arnold   |131.181.251.xxx |2009-03-18 12:45:21
Halo mas rozi, pertama2x saya ini mas bukan mbak
Bahan tutorial kebanyakan
sudah tersedia di website ini, silahkan ditilik2x.
Atau mas bisa lebih spesifik
lagi tutorial di bagian apa?
pamungkas   |202.152.41.xxx |2009-02-26 23:29:42
halo bro,gmn cranya membaca dan menampilkan data bentuk .txt dlm bentuk matrik
pda listbox ,bsa gak kl data tidak dibaca per karakter?
kalau bisa kasih
tutorialnya,kirim ke emailku aj.thanx bngt
arini  - GUI   |114.58.118.xxx |2009-01-23 09:32:15
aku baru belajar pake matlab nih... gimana ya buat aplikasi pake GUI...
trus
kalo mau add source misal pada command butto (kalo di V gimana caranya ?
Arnold   |124.185.146.xxx |2009-01-24 06:17:14
Aplikasi memakai GUI mbak arini bisa langsung dari File-New-GUI. Nanti matlab
akan membuatkan semacam .m nya, lalu tinggal dipanggil namanya dari shell
nya.

add source ini maksudnya apa yah mbak arini?
bowo  - Tanya.. pLiz   |61.247.5.xxx |2009-01-12 13:17:53
mas saya mau tanya.. N saya mw minta bantuan,, klo Image BMP or JPG mw di
enkripsi Menggunakan Matlab "script" Nya apa Ya ????
dan
"script" setelah di Enkrip hasilnya di convert Menjadi Txt ?????
arnold   |124.185.146.xxx |2009-01-24 06:32:44
Halo mas bowo,

Mas bowo bisa menggunakan fungsi standard enkripsi. Ada
beberapa orang sudah membuat codenya jadi mas tinggal langsung pakai saja. Coba
cari di google dengan kata kunci "matlab rsa".
Nah untuk menjadi txt,
itu sudah otomatis mas. Gini prinsipnya, citra dijital kan bentuknya binary, nah
itu bisa dibuka dengan notepad walaupun simbolnya tidak beraturan. Jadi demikian
juga untuk hasil enkripsinya (yang dalam bentuk binary).
pemudaharapan  - Membaca beberapa citra jpg sekaligus   |118.97.49.xxx |2008-11-23 07:12:51
Bro, gimana ya caranya membaca beberapa citra sekaligus (citra a1.jpg, a2.jpg,
... a100.jpg).
aku males kalo musti imread satu-satu ampe 100 kali (cape'
deh).
koding programnya gimana ya?
hmm, tlg jawabannya skaligus di fwd ke
emailku yah... thx..
Arnold   |131.181.251.xxx |2008-11-25 09:34:32
Halo Bro pemudaharapan,
Sudah aku buatkan tutorialnya... silahkan tilik dibagian
tutorial
chester  - citra dokumen   |124.195.40.xxx |2008-11-17 14:49:42
punya file2 citra dokumen kuno gak??
kalo punya tolong krimin ak yaaa..
b154_chester@yahoo.com
Arnold   |131.181.251.xxx |2008-11-21 08:48:05
Hehehe mas chester bisa sajah... kalaupun aku punya, kemungkinan besar itu under
NDA (Non Disclosure Agreement).
Aku sarankan mas bisa pergi ke perpustakaan
nasional.. lalu berbicara dengan petugas di sana.. Biasanya mereka mau ngasih
sepanjang untuk tujuan penelitian dan mereka di acknowledge.
didy  - tanyaaaaa   |117.102.80.xxx |2008-10-20 16:46:54
dear
ada punya link tentang tutorial pengolahan pake citra digital g
mbak?
alamat web/blog dll trim : :woohoo
Arnold   |58.165.70.xxx |2008-11-01 09:52:08
Halo didy, tutorial nya mau yang seperti apa? silahkan direquest di guest book
yah didy... nanti aku coba persiapkan..
aryani     |125.163.206.xxx |2008-09-24 16:22:32
Ma'af saya mau tanya sebenarnya kegunaan citra digital itu untuk apa ya
???
Mohon untuk di jawab. Terima kasih
Arnold     |58.169.206.xxx |2008-09-25 07:33:42
Dimaafkan
Kegunaan citra dijital itu banyak sekali mbak aryani. Kalau mbak
menanyakan dari sisi mengapa harus dijital, maka tentunya agar citra tersebut
dapat diproses secara dijital dengan menggunakan komputer.
Jika pertanyaannya
untuk apa citra dijital itu? Untuk banyak hal. Sekarang ini pengolahan citra itu
sudah banyak menyentuh aspek kehidupan. Contoh, jika mbak ke google maps atau
microsoft virtual earth, mbak akan melihat aplikasi citra dijital (Image
REgistration). Lalu jika mbak ke studio foto untuk pernikahan, maka mbak melihat
aplikasi yang lain lagi (Photo editing). Kalau mbak melakukan CT Scan,
kemungkinan mbak memakai aplikasi dari pengolahan citra (Tumor Pattern
detection). Bahkan jika mbak imigrasi, sekarang sudah ada deteksi sidik jari.
Jadi aplikasi citra itu sudah dari A sampai Z. Hanya saja orang belum sadar akan
hal itu.

Semoga menjawab
SERI WAHYUNI   |125.165.49.xxx |2008-07-06 19:43:25
  :angry:
Arnold  - re:     |124.186.66.xxx |2008-07-07 08:32:57
SERI WAHYUNI wrote:
  :angry:

Wah mbak, sekarang aku yang nga jelas e dengan comment nya mbak
Write comment
Name:
Email:
 
Website:
Title:
UBBCode:
[b] [i] [u] [url] [quote] [code] [img] 
 
 
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch:
:(:shock::X:side::):P:unsure::woohoo::huh::whistle:;):s
:!::?::idea::arrow:
 
Please input the anti-spam code that you can read in the image.

3.25 Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

 
< Prev   Next >