Pengolahan Citra Menggunakan Octave – Zoom In dan Zoom Out

Seperti yang kita ketahui zooming adalah proses dimana kita dapat melihat citra yang “lebih dekat” atau “lebih jauh”. Layaknya menggunakan kaca pembesar seolah – olah kita dapat melihat sebuah bagian citra terasa dekat. Zooming ini dalam pengolahan citra biasa disebut dengan penskalaan citra. Kita dapat menentukan piksel baru dengan mengalikannya terhadap sebuah bilangan. Bila bilangan tersebut lebih dari 1 maka kita melakukan proses zoom out, bila bilangan tersebut diantara 0 dan kurang dari 1 maka kita melakukan proses zoom in.

Selain itu kita juga dapat Sebagai contoh berikut adalah source code untuk melakukan proses zooming pada citra di Octave:



disp("<---> Operasi Zoom pada Gambar <--->")

img_path = "assets/lena.jpg";
img = imread(img_path);
img = rgb2gray(img);

img_size = size(img);
new_img = zeros(img_size(1), img_size(2));
width = img_size(1);
height = img_size(2);
scale = 2;
cursor_x = 150;
cursor_y = 150;

for x = 1 : width
    for y = 1 : height
      new_x = round(x * scale + cursor_x);
      new_y = round(y * scale + cursor_y);
      if (((new_x > 1) && (new_x < width)) && ((new_y > 1) && (new_y < height))) 
        new_img(x, y) = img(new_x, new_y);
      else
        new_img(x, y) = 0;
      end
  end
end

new_img = uint8(new_img);
imshow(new_img);

clear all;

Berikut adalah contoh output dengan parameter scale yang berbeda – beda:

zoom scale=0.2,x=250, y=250

zoom scale=0.2,x=150, y=250

zoom scale=0.5,x=250, y=250

zoom scale=0.5,x=250, y=250

zoom scale=0.5,x=150, y=150

zoom scale=0.5,x=150, y=150

zoom scale=1.5,x=150, y=150

zoom scale=1.5,x=150, y=150

zoom scale=2,x=150, y=150

zoom scale=2,x=150, y=150

Referensi:

  • Modul Pengolahan Citra Digital, Minarni S.Si., M.T., SISFO Institut Teknologi Padang
  • Buku Pengolahan Citra Digital, Rinaldi Munir
  • Pengolahan Citra – Teori dan Aplikasi, Abdul Kadir

Leave a Reply