[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