더북(TheBook)

OpenCV에서는 blur() 함수를 이용하여 평균값 필터링을 수행할 수 있습니다. blur() 함수의 사용법은 다음과 같습니다.

void blur(InputArray src, OutputArray dst, Size ksize,
          Point anchor = Point(-1,-1), int borderType = BORDER_DEFAULT);

src

입력 영상. 다채널 영상은 각 채널별로 블러링을 수행합니다. 입력 영상의 깊이는 CV_8U, CV_16U, CV_16S, CV_32F, CV_64F 중 하나여야 합니다.

dst

출력 영상. src와 같은 크기, 같은 채널 수를 갖습니다.

ksize

블러링 커널 크기

anchor

고정점 좌표. Point(-1, -1)을 지정하면 커널 중심을 고정점으로 사용합니다.

borderType

가장자리 픽셀 확장 방식

 

blur() 함수는 src 영상에 ksize 크기의 평균값 필터 마스크를 사용하여 dst 출력 영상을 생성합니다. anchor 인자와 borerType 인자는 기본값을 가지고 있으므로 함수 호출 시 생략할 수 있습니다. blur() 함수에서 사용하는 커널은 다음과 같은 형태를 가집니다.

blur() 함수를 사용하여 실제 영상에 블러링을 수행하는 예제 코드를 코드 7-2에 나타냈습니다. 코드 7-2의 blurring_mean() 함수는 3×3, 5×5, 7×7 크기의 평균값 필터를 이용하여 rose.bmp 장미 영상을 부드럽게 변환하고 그 결과를 화면에 출력합니다. blurring_mean() 함수가 정의된 소스 파일과 사용된 영상 파일은 내려받은 예제 파일 중 ch07/blurring 프로젝트에서 확인할 수 있습니다.

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