import cv2
import matplotlib.pyplot as plt
import numpy as np
image = cv2.imread('black.jpg')
plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
plt.show()
size = 4
# 크기가 (1/4)x(1/4)인 커널 생성
kernel = np.ones((size, size), np.float32) / (size**2)
print(kernel)
# 필터 적용
dst = cv2.filter2D(image, -1, kernel)
plt.imshow(cv2.cvtColor(dst, cv2.COLOR_BGR2RGB))
plt.show()
Basic Kernel: 커널 안의 모든 값이 1인 커널
import cv2
import matplotlib.pyplot as plt
image = cv2.imread('black.jpg')
plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
plt.show()
# 크기가 4x4인 커널로 블러 처리
dst = cv2.blur(image, (4, 4))
plt.imshow(cv2.cvtColor(dst, cv2.COLOR_BGR2RGB))
plt.show()
Gaussian Kernel: 커널의 중심에 있는 값이 가장 크고 중심에서 멀어질수록 값이 작아진다.
import cv2
image = cv2.imread('black.jpg')
plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
plt.show()
# kernel_size: 홀수
dst = cv2.GaussianBlur(image, (5, 5), 0)
plt.imshow(cv2.cvtColor(dst, cv2.COLOR_BGR2RGB))
plt.show()