Image Sharpening Menggunakan OpenCV

[latexpage]

Sharpening adalah kebalikan dari blurring. Sharpening akan membuat garis lebih tegas. Fungsi yang digunakan adalah cv2.filter2D(), perbedaannya dengan blurring, adalah pada bagian kernelnya.

$K = \begin{bmatrix}-1 & -1 & -1 & \\ -1 & 9 & -1 \\ -1 & -1 & -1 \end{bmatrix}$

Sum dari kernel adalah 1, jadi tidak diperlukan normalisasi.

import cv2
import numpy as np
import matplotlib.pyplot as plt

%matplotlib inline

img = cv2.imread('japan-pagoda.jpg')
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

kernel = np.array([[-1,-1,-1],
                  [-1,9,-1],
                  [-1,-1,-1]])

dst = cv2.filter2D(img,-1,kernel)

f, (ax1, ax2) = plt.subplots(1, 2, figsize=(14,7))
ax1.set_title('Original')
ax1.imshow(img)
ax2.set_title('Sharpen')
ax2.imshow(dst)

File google colab bisa buka di https://colab.research.google.com/drive/1BIsaxGgmx8uC3msQhhLCMZDh8zhqlJK3?usp=sharing

Sharing is caring:

Leave a Comment