필터링 함수 탐구(2) - GaussianBlur()

·2023년 5월 26일
0

filter

목록 보기
2/2

GaussianBlur()

  • 가까운 픽셀에 큰 가중치, 먼 픽셀에 작은 가중치를 부여하여 평균값 계산
    즉, 거리에 따른 가중치를 부여하여 각 픽셀의 평균값 계산
    (평균값 블러의 단점 보완)
  • 기본: cv2.GaussianBlur(src, ksize, sigmaX)
    • src: 이미지 파일
    • ksize: 커널의 크기(연산될 픽셀 선택 범위)
    • sigmaX : x방향 표준편차.

가우시안 함수

시그마(편차) 값에 따라 그래프 모양 변화함.

즉, 시그마 값이 작을수록 중앙에 가중치가 집중됨.
시그마 값이 클수록 완만하게 가중치가 부여됨.


예제 코드

import cv2

img = cv2.imread('Blur/Lenna.png')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# grayscale 이미지 출력
cv2.imshow('gray', gray)


# 커널의 크기 (5, 5)이고 편차 값을 0으로 가우시안 필터 적용한 이미지
gaussian5 = cv2.GaussianBlur(gray, (5,5), 0)

# 커널의 크기 (9, 9)이고 편차 값을 0으로 가우시안 필터 적용한 이미지
gaussian9 = cv2.GaussianBlur(gray, (9,9), 0)

# 커널의 크기 (9, 9)이고 편차 값을 5으로 가우시안 필터 적용한 이미지
gaussian95 = cv2.GaussianBlur(gray, (9,9), 5)


cv2.imshow('GaussianBlur5', gaussian5)
cv2.imshow('GaussianBlur9', gaussian9)
cv2.imshow('GaussianBlur95', gaussian95)



cv2.waitKey(0)
cv2.destroyAllWindows()

결과물 출력




0개의 댓글