더북(TheBook)

OpenCV에서는 medianBlur() 함수를 이용하여 미디언 필터링을 수행할 수 있습니다. medianBlur() 함수 원형은 다음과 같습니다.

void medianBlur(InputArray src, OutputArray dst, int ksize);

src

입력 영상. 1, 3, 4채널 영상. ksize가 3 또는 5이면 src는 CV_8U, CV_16U, CV_32F의 깊이를 가질 수 있고, 그 이상의 필터 크기에서는 CV_8U 깊이만 사용할 수 있습니다.

dst

출력 영상. src와 같은 크기, 같은 타입을 갖습니다.

ksize

필터 크기. 3보다 같거나 큰 홀수를 지정합니다.

 

medianBlur() 함수는 ksize×ksize 필터 크기를 이용하여 미디언 필터링을 수행합니다. 다채널 영상인 경우 각 채널별로 필터링을 수행합니다. medianBlur() 함수는 내부적으로 BORDER_REPLICATE 방식으로 가장자리 외곽 픽셀 값을 설정하여 필터링을 수행합니다.

medianBlur() 함수를 이용하여 미디언 필터링을 수행하는 예제 코드를 코드 7-7에 나타냈습니다. 코드 7-7의 filter_median() 함수는 입력 영상 전체 크기의 10%에 해당하는 픽셀에 소금&후추 잡음을 추가하고, 가우시안 필터와 미디언 필터를 수행한 결과 영상을 화면에 출력합니다. filter_median() 함수를 사용하는 전체 소스 코드는 내려받은 예제 파일 중 ch07/noise 프로젝트에서 확인할 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.