본문 바로가기
영상처리 프로그래밍/파이썬과 코랩 기반 OpenCV 영상처리

영상의 공간적 필터링 기법 - 평균 필터링(Mean Filtering)

by Glory_Choi 2022. 8. 5.
반응형

공간적 필터링 기법은 각각의 목적에 따라 적절한 커널(kernel) 혹은 필터(filter)를 정의하고 원본 영상과 컨벌루션(convolution) 연산을 수행하는 것이 일반적이다.

컨벌루션 연산은 입력 영상의 픽셀 밝기 값을 커널의 동일한 위치에 해당하는 픽셀값과 곱하고 모든 값들을 더한값으로 대체하는 방법이다.

 

  • 평균 필터링(Mean Filtering)
  • 중간값 필터링(Median Filtering)
  • 가우시안 필터링(Gaussian Filtering)
  • 보존 스무딩(Conservative Smoothing)
  • 언샤프 필터링(Unsharp Filtering)

 

평균 필터링

평균 필터링은 입력 영상의 픽셀 밝기 값을 주변 픽셀들의 밝기값의 평균으로 대체하여 영상을 수무딩(Smoothing) 시키면서 잡음을 줄이는 필터링 기법이다.

컨벌루션 연산을 위한 평균 필터링 커널은 다양하게 정의할 수 있다.

커널의 크기에 따라 영상의 스무딩의 정도가 결정되며, 커널의 크기가 클수록 스무딩 효과가 커지는 특성이 있다.

 

filter2D

 

cv2.filter2D(src, ddepth, kernel, dst=None, anchor=None, delta=None, borderType=None) -> dst
• src : 입력 영상
• ddepth : 출력 영상 데이터 타입. (e.g) cv2.CV_8U, cv2.CV_32F, cv2.CV_64F, -1을 지정하면 src와 같은 타입의 dst 영상을 생성합니다.
• kernel: 커널 배열. 실수형.
• anchor: 커널에서 필터 될 포인트의 상대적 위치. (-1, -1)이면 필터 중앙으로 사용
• delta: 추가적으로 더할 값
• borderType: 가장자리 픽셀 확장 방식
• dst: 출력 영상

 

blur

 

cv2.blur(src, ksize, dst=None, anchor=None, borderType=None) -> dst
• src: 입력 영상
• ksize: 커널 크기. (width, height) 형태의 튜플.
• dst: 결과 영상. 입력 영상과 같은 크기 & 같은 타입.

• anchor : 커널에서 필터 될 포인트의 상대적 위치

 

 

filter2D로 구현한 평균 필터링 소스 코드

 

blur로 구현한 평균 필터링 소스 코드

반응형