GaussianBlur, medianBlur, bilateralFilter 테스트

2019. 8. 12. 23:41ML, OpenCV

고화질 사진을 구했는데.. 노이즈가 껴있어서 필터를 적용시켜봤습니다.

GaussianBlur, medianBlur, bilateralFilter 세 필터 모두 잡음 제거에 탁월한 필터이지만

조금씩 차이가 있기에 테스트를 해봤습니다.

 

import cv2

img = cv2.imread('iu123.jpeg')

FilterOn = cv2.GaussianBlur(img,(5,5),0)
#FilterOn = cv2.medianBlur(img, 5)
#FilterOn = cv2.bilateralFilter(img,9,75,75)
cv2.imwrite('median.jpeg', FilterOn)

cv2.imshow('원본이미지', img)
cv2.imshow('필터적용이미지', FilterOn)

cv2.waitKey(0)
cv2.destroyAllWindows()

원본 사진은 노이즈가 있는 사진을 사용했고

각각 cv2의 imwrite함수를 사용해서 저장했습니다.

필터 크기는 필터의 특징이 잘 나타날 정도로 임의로 설정했습니다.

 

원본 이미지
가우시안 필터 적용
미디안 필터 적용
Bilateral Filtering

가우시안 필터와 미디안 필터는 노이즈가 감소했고 두 필터간 큰 차이가 보이지 않았지만

Bilateral필터와는 차이가 두드러지게 나타났습니다.

위 이미지에서 보이듯 Bilateral필터는 노이즈를 없애는 것과 동시에 에지가 뚜렷해지는 특징을 보였습니다.