Page 4 - 220533600710_Rivan Adi Kurniawan_Praktikum 2.ipynb - Colab_Neat
P. 4
plt.figure(figsize=(12,6))
plt.subplot(141), plt.imshow(img, cmap='gray'), plt.title("Gambar Asli")
# Mean filter (blur)
mean = cv2.blur(img, (5,5))
plt.subplot(142), plt.imshow(mean, cmap='gray'), plt.title("Mean Filter")
# Median filter
median = cv2.medianBlur(img, 5)
plt.subplot(143), plt.imshow(median, cmap='gray'), plt.title("Median Filter")
# Sharpening (Laplacian)
laplacian = cv2.Laplacian(img, cv2.CV_64F)
sharpen = cv2.convertScaleAbs(img - laplacian)
plt.subplot(144), plt.imshow(sharpen, cmap='gray'), plt.title("Sharpening")
plt.tight_layout()
plt.show()
Percobaan 5
import cv2
import numpy as np
import matplotlib.pyplot as plt
# Baca gambar grayscale
img = cv2.imread("/content/content/Red_Apple.jpg", 0)
plt.figure(figsize=(12,6))
plt.subplot(141), plt.imshow(img, cmap='gray'), plt.title("Gambar Asli")
# FFT 2D
f = np.fft.fft2(img)
fshift = np.fft.fftshift(f)
magnitude_spectrum = 20 * np.log(np.abs(fshift) + 1)
plt.subplot(142), plt.imshow(magnitude_spectrum, cmap='gray'), plt.title("Spektrum Fourier")
# Low-pass Filter
rows, cols = img.shape
crow, ccol = rows//2, cols//2
mask = np.zeros((rows, cols), np.uint8)
r = 30
mask[crow-r:crow+r, ccol-r:ccol+r] = 1
f_low = fshift * mask
img_low = np.fft.ifft2(np.fft.ifftshift(f_low))
img_low = np.abs(img_low)
plt.subplot(143), plt.imshow(img_low, cmap='gray'), plt.title("Low-pass Filtered")
# High-pass Filter
mask_high = np.ones((rows, cols), np.uint8)
mask_high[crow-r:crow+r, ccol-r:ccol+r] = 0
f_high = fshift * mask_high
img_high = np.fft.ifft2(np.fft.ifftshift(f_high))
img_high = np.abs(img_high)
plt.subplot(144), plt.imshow(img_high, cmap='gray'), plt.title("High-pass Filtered")
plt.tight_layout()
plt.show()

