Image Scaling Menggunakan OpenCV

Scaling atau re-sizing menggunakan metoda interpolation, metoda untuk mengkonstruksi data point baru berdasar data point lama.

OpenCV menyediakan beberapa metoda interpolasi

  • cv2.INTER_AREA: untuk shrinking atau mengecilkan gambar.
  • cv2.INTER_NEAREST: metoda paling cepat
  • cv2.INTER_LINEAR: untuk memperbesar gambar.
  • cv2.INTER_CUBIC: kualitas baik.
  • cv2.INTER_LANCZOS4: kualitas terbaik.

Fungsi yang digunakan adalah cv2.resize(img, dsize, fx, fy, interpolation)

  • img: adalah image yang akan di resize.
  • dsize: adalah destination size.
  • fx: adalah scale ratio untuk sumbu x.
  • fy: adalah scale ratio untuk sumbu y.
  • interpolation: metoda interpolasi yang akan digunakan.
import cv2
import numpy as np
import matplotlib.pyplot as plt

%matplotlib inline

#akan scale down dengan ration 3/4.
img_scale = cv2.resize(img, None, fx=0.75, fy=0.75)
plt.imshow(img_scale)

#scale up 2 kali, dengan kualitas gambar baik.
img_scale = cv2.resize(img, None, fx=2, fy=2, interpolation=cv2.INTER_CUBIC)
plt.imshow(img_scale)

Sharing is caring:

Leave a Comment