Image Processing dengan MATLAB 2017b: Part 1

Pengolahan citra akhir-akhir ini sangatlah diperlukan untuk berbagai bidang termasuk pertanian. Tulisan ini akan memberikan penjelasan penggunaan MATLAB untuk pengolahan citra. Bagi anda yang tidak memiliki lisensi matlab bisa mencoba VB6 atau C#. Namun, pada tutorial ini saya batasi dulu dengan menggunakan MATLAB.

Baiklah kita ikuti langkah-langkah berikut:

Persiapkan Citra dan Dokumen

  1. Siapkan citra yang akan anda olah, ekstensi file citra bisa bermacam-macam diantaranya JPG, jpg, JPEG, jpeg, TIF, tif, dan tipe data lainnya.
  2. Pastikan ekstensinya apakah menggunakan huruf kecil atau besar, karena MATLAB case sensitif.
  3. Pada contoh dibawah ini, data images saya letakkan pada folder: C:\Users\user\Documents\MATLAB\image
  4. Kemudian, buatlah file baru dengan menekan tanda +, new, Live Script. Untuk menggunakan Live Script ini ada di versi 2017, kalau versi sebelumnya sepertinya belum tersedia. Gambar berikut menunjukkan tampilan halaman baru tersebut.

2

Tutorial Dasar 

  1. Membaca Citra
    Pertama ketikkan script berikut:
    clear
    rgb = imread(‘0.75.JPG’);clear, fungsinya untuk membersihkan workspace. Nantinya file dalam bentuk matrix dengan extensi mat yang akan tersimpan di workspace. Tersimpan di workspace artinya data anda masih tersimpan sementara.
  2. Menampikan citra
    Untuk menampilkan kembali citra gunakan, script berikut:figure,
    imshow(rgb);figure, adalah script untuk menampilkan citra dalam bentuk figure
    imshow, menampilkan citra dengan nama file yang sudah ditentukan diatasnya rgb = imread(‘0.75.JPG’);
  3. Untuk melihat nilai RGB yang nilainya antara 0-255 pada citra yang sudah dibuka, caranya sangat mudah. Anda tinggal klik saja matriks ‘rgb’, pada workspace.val(:,:,1) = , nanti disini, akan muncul nilai setiap pixel untuk R
    val(:,:,2) = , nanti disini, akan muncul nilai setiap pixel untuk G
    val(:,:,3) = , nanti disini, akan muncul nilai setiap pixel untuk B
  4. Karena ukuran filenya sangat besar, coba kita perkecil lagi dengan kode berikut
    kecil= imresize(rgb,0.1, ‘nearest’);teknik ini menggunakan rata-rata pada daerah tetangga. nilai 0.1 bisa anda rubah, yang artinya diperkecil sampai 10 persen dari ukuran aslinya. Nah, ini akhirnya data dengan ukuran 27x5x3 jadi 3x6x3.

    val(:,:,1) =
    200 199 198 200 197 197
    202 201 198 200 199 200
    199 200 198 195 197 197

    val(:,:,2) =
    216 216 217 214 212 212
    218 217 217 214 214 215
    215 216 214 209 212 212

    val(:,:,3) =
    141 136 138 135 127 127
    147 142 138 135 129 130
    142 143 141 132 129 129

    Tapi usahakan untuk penelitian jangan gunakan kompresi standar ini, anda bisa menggunakan fourier, PCA dan lain-lain. Metode-metode itu tidak akan saya bahas dulu dalam tutorial ini.

  5. Nah, itulah dia kelihatan data-data RGB yang anda butuhkan.

Mirror dan Reverse

Untuk melakukan mirror dan reverse, anda dapat mengikuti langkah-langkah berikut ini:

  1. Baca image yang akan di reverse dengan perintah standar yang diajarkan pada tutorial dibagian terdahulu:
    I = imread (‘chip.png’);
  2. Perintah Miror
    Imiror = flipdim(I,2);
  3. Perintah Reverse
    Ireverse = flipdim (I,1);
  4. Menampilkan
    figure,
    subplot (2,2,1), imshow(I);title(‘Gambar Aseli’);
    subplot (2,2,2), imshow(Imiror);title(‘Gambar Miror’);
    subplot (2,2,3), imshow(Ireverse);title(‘Gambar Reverse’);
    subplot (2,2,4), imshow(Imrrev);title(‘Gambar Reverse dan Mirror’);

Kode lengkap

clear
I = imread(‘chip.png’);
imshow(I);
Imiror = flipdim(I,2);
Ireverse = flipdim (I,1);
Imrrev = flipdim(Ireverse,2);

figure,
subplot (2,2,1), imshow(I);title(‘Gambar Aseli’);
subplot (2,2,2), imshow(Imiror);title(‘Gambar Miror’);
subplot (2,2,3), imshow(Ireverse);title(‘Gambar Reverse’);
subplot (2,2,4), imshow(Imrrev);title(‘Gambar Reverse dan Mirror’);

Nah, hari ini sampai disini dulu ya, tutorial yang bisa saya berikan. Nanti kita lanjutkan lagi dengan teknik-teknik images processing dengan MATLAB yang lebih advance lagi. Selamat berkarya, jangan berhenti belajar dan teruslah berbagi.

Artikel Terkait

  1. Supriyanto. 2017. Mengenal Machine Learning Part 1. http://debasupriyanto.staff.ipb.ac.id/2017/11/04/artificial-neural-networks-anns-introduction/
  2. Supriyanto. 2017. Matlab Live Editor. https://supriliwa.wordpress.com/2017/11/22/matlab-live-editor/

Citra yang dipakai 

  1. Citra 1
    0.75
  2. Citra 2
    chip

Kalau ada pertanyaan silahkan kontak kami di:
debasupriyanto@apps.ipb.ac.id
Supriyanto, M.Kom
Dosen Program Studi Teknik Mesin dan Biosistem IPB