이미지 블러링(image blurring)

:: Image Blurring은 LPF를 이미지에 적용하여 얻을 수 있다. 고주파영역을 제거함으로써 노이즈를 제거하거나 경계선을 흐리게 하는 것이 목적. 

(LPF, HPF는 이전 글을 보면 설명이 되어있다.)

 

OpenCV에는 4가지 형태의 blurring 방법을 제공하고 있다.

1. Averaging
:: Box 형태의 커널을 이미지에 적용한 후 평균값을 box의 중심점에 적용

2. Median Filtering
:: 커널 윈도우와 픽셀의 값들을 정렬한 후에 중간값을 선택하여 적용
점 잡음(점처럼 찍힌 노이즈)을 제거하는데 효과적

3. Gaussian Filtering
:: Gaussian 함수를 이용한 커널을 적용
이미지의 전체적으로 밀도가 동일한 노이즈 , 백색노이즈를 제거하는데 가장 효과적

4. Bilateral Filtering
:: 양방향필터는 경계선을 유지하면서 Gaussian Blur 처리
Gaussian 필터를 적용하고 , 또 하나의 Gaussian 필터를 주변 픽셀까지 고려하여 적용하는 방식
경계면을 지키며 표면의 질감 등을 제거하는데 효과적

 

1. 평균 블러

:: 균일한 값을 가지는 커널을 이용한 이미지 필터링. 커널 영역내의 평균값으로 해당 픽셀을 대체

 

OpenCV에선 blur 함수로 구현되어 있다.

 

blur(src, ksize)

  • src: 원본 이미지
  • ksize: 커널 크기 (1보다 큰 홀수)

평균 블러 적용

 

2. 중앙값 블러

:: 평균이 아닌 중앙값으로 해당 픽셀을 대체.

kernel window와 pixel의 값들을 정렬한 후에 중간값을 선택하여 적용한다. 점 모양의 잡음을 제거하는 데 효과적이다.

OpenCV에서는 medianBlur 함수를 사용한다.

 

medianBlur(src, ksize)

  • src: 원본 이미지
  • ksize: 커널 크기 (1보다 큰 홀수)

중앙값 블러 적용한 이미지

 

3. 가우시안 블러

:: box filter는 동일한 값으로 구성된 kernel을 사용하지만, Gaussian Filter는 Gaussian함수를 이용한 Kernel을 적용

즉, kernel 행렬의 값을 Gaussian 함수를 통해서 수학적으로 생성하여 적용

 

OpenCV에서는 GaussianBlur로 구현되어 있다.

 

GaussianBlur(src, ksize, sigmaX)

  • src: 원본 이미지
  • ksize: 커널 크기(양수이면서 홀수)
  • sigmaX: 표준편차

백색노이즈가 있는 이미지를 가우시안 블러 처리

 

4. 양방향 필터링

:: 가우시안 필터링을 쓰면 이미지의 경계선도 흐려진다는 문제점이 있다. 따라서 경계선을 유지하면서 Gaussian 블러처리를 하는 것이 필요하다.

 

Gaussian 필터를 적용하고, 또 하나의 Gaussian 필터를 주변 pixel까지 고려하여 적용하는 방식이다.

OpenCV에서는 bilateralFilter 함수로 구현되어 있다.

 

bilateralFilter(src, d, sigmaColor, sigmaSpace)

  • src: 원본 이미지
  • d: 커널 크기
  • sigmaColor: 색공간 표준편차. 값이 크면 색이 많이 달라도 픽셀들이 서로 영향을 미친다.
  • sigmaSpace: 거리공간 표준편차. 값이 크면 멀리 떨어져있는 픽셀들이 서로 영향을 미친다.

 

 

참고 사이트

https://datascienceschool.net/03%20machine%20learning/03.02.02%20%EC%9D%B4%EB%AF%B8%EC%A7%80%20%ED%95%84%ED%84%B0%EB%A7%81.html

 

https://opencv-python.readthedocs.io/en/latest/doc/11.imageSmoothing/imageSmoothing.html

'Project > Image Handling' 카테고리의 다른 글

이미지 필터링  (2) 2021.06.03
이미지 임계처리  (0) 2021.06.02
이미지 처리  (0) 2021.06.01

+ Recent posts