Computer Vision/opencv(python)
[23] 3)블러링 - 가우시안 필터
jwjwvison
2021. 3. 19. 14:37
- 평균값 필터에 의한 블러링의 단점
- 필터링 대상 위치에서 가까이 있는 픽셀과 멀리 있는 픽셀이 모두 같은 가중치를 사용하여 평균을 계산
- 멀리 있는 픽셀의 영향을 많이 받을 수 있음
- (1차원) 가우시안 함수 (Gaussian function)
- 가우시안 함수의 특징
- 가우시안 필터링 함수
cv2.GaussianBlur(src,ksize,sigmaX,dst=None,sigmaY=None,borderType=None) -> dst
• src : 입력 영상 . 각 채널 별로 처리됨
• dst : 출력 영상 . src 와 같은 크기 , 같은 타입
• ksize : 가우시안 커널 크기 . (0,0) 을 지정하면 sigma 값에 의해 자동 결정됨
• sigmaX : x 방향 sigma.
• sigmaY : y 방향 sigma. 0 이면 sigmaX 와 같게 설정
• borderType: 가장자리 픽셀 확장 방식
- 다양한 크기의 sigma를 사용한 가우시안 필터링
import sys
import numpy as np
import cv2
src = cv2.imread('rose.bmp', cv2.IMREAD_GRAYSCALE)
if src is None:
print('Image load failed!')
sys.exit()
cv2.imshow('src', src)
for sigma in range(1, 6):
# sigma 값을 이용하여 가우시안 필터링
dst = cv2.GaussianBlur(src, (0, 0), sigma)
desc = 'sigma = {}'.format(sigma)
cv2.putText(dst, desc, (10, 30), cv2.FONT_HERSHEY_SIMPLEX,
1.0, 255, 1, cv2.LINE_AA)
cv2.imshow('dst', dst)
cv2.waitKey()
cv2.destroyAllWindows()