Page 5 - Praktikum 2.ipynb - Colab
P. 5
Restorasi
Percobaan 6
import cv2
import numpy as np
import matplotlib.pyplot as plt
# Load gambar grayscale
image = cv2.imread("/content/content/Red_Apple.jpg", cv2.IMREAD_GRAYSCALE)
# Simulasi blur (motion blur sederhana)
size = 15
kernel_motion_blur = np.zeros((size, size))
kernel_motion_blur[int((size-1)/2), :] = np.ones(size)
kernel_motion_blur = kernel_motion_blur / size
blurred = cv2.filter2D(image, -1, kernel_motion_blur)
# Transformasi Fourier
G = np.fft.fft2(blurred)
H = np.fft.fft2(kernel_motion_blur, s=image.shape)
H_conj = np.conj(H)
# Inverse filtering (hindari pembagian nol dengan epsilon)
epsilon = 1e-8
F_hat = G / (H + epsilon)
restored = np.abs(np.fft.ifft2(F_hat))
# Tampilkan
plt.figure(figsize=(12,6))
plt.subplot(1,3,1); plt.title("Original"); plt.imshow(image, cmap='gray'); plt.axis('off')
plt.subplot(1,3,2); plt.title("Blurred"); plt.imshow(blurred, cmap='gray'); plt.axis('off')
plt.subplot(1,3,3); plt.title("Restored (Inverse)"); plt.imshow(restored, cmap='gray'); plt.axis('off')
plt.show()
Kompresi
Percobaan 7
import cv2
import matplotlib.pyplot as plt
import os

