Imresize Citra dengan Matlab

Imresize merupakan fungsi dalam Matlab untuk memperkecil ukuran citra. Misal sebuah citra berukuran 100 x 100 dapat diperkecil menjadi 10 x 10. Gunanya adalah menurunkan resolusi agar dapat lebih cepat diproses. Perhatikan citra berikut (nama file “Huruf A.png”):

Citra bertipe JPG atau PNG harus dibaca di konsol Matlab. Gunakan fungsi imread untuk mengkonversi JPG menjadi matriks gambar.

  • x=imread(‘Huruf A.png’);
  • x2=rgb2gray(x);

Fungsi rgb2gray bermaksud merubah citra berwarna (red, green, dan blue) menjadi hitam putih. Berikutnya kita coba mereduksi matriksnya dengan fungsi imresize berikut ini:

  • x3=imresize(x2,.05)

Perhatikan x3 merudiksi x2 sebesar 5 persen. Jika dilihat gambarnya dengan fungsi imshow akan muncul citra yang sudah tereduksi ukurannya.

  • Imshow(x3,’InitialMagnification’,’fit’)

Citra hasil imresize dari sulit dimanipulasi. Misal dibagi dgn 255 tiap elemennya menjadi 1.

Tampak citra yang masih berbentuk gray. Untuk diolah dengan jaringan syaraf tiruan perlu dikonversi menjadi biner 1 dan 0 atau +1 dan -1. Untuk gambar yg normal bisa dengan im2bw, tetapi hasilnya akan 1 semua. Cari paling sederhana adalah membuat kode untuk merubah 255 menjadi -1 dan yang bukan 255 menjadi 1.

  • [row kol]=size(x3)
  • for i=1:row
  • for j=1:row
  • if x3(i,j)==max(max(x))
  • x3(i,j)=-1;
  • else
  • x3(i,j)=1;
  • end
  • end
  • end

Hasilnya matrix nol dan 1 yang harus dikalikan dengan 255 terlebih dahulu sebelum dimanipulasi dengan fungsi im2bw.

  • x4=x3*255;
  • x5=im2bw(x4);
  • x6=x5*2-1;
  • imshow(x6,’InitialMagnification’,’fit’)

Hasilnya adalah tampak pada gambar di bawah, berupa matriks hasil reduksi dari yang sebelah kanan. Dari ukuran matriks 190×193 menjadi matriks 10×10 yang lebih mudah dimanipulasi.