코드 7-3의 blurring_gaussian() 함수 실행 결과를 그림 7-11에 나타냈습니다. 그림 7-11에서 src는 입력 영상인 rose.bmp 파일이고, dst는 GaussianBlur() 함수에 의해 생성된 블러링 결과 영상입니다. 표준 편차 값이 커질수록 결과 영상이 더욱 부드럽게 변경되는 것을 확인할 수 있습니다.
▲ 그림 7-11 가우시안 필터링 예제 실행 화면
앞에서 영상의 가우시안 필터링은 x축 방향과 y축 방향으로 각각 1차원 가우시안 필터를 적용하여 수행한다고 설명했습니다. 실제로 GaussianBlur() 함수 내부에서 가우시안 필터링을 구현할 때에도 x축 방향과 y축 방향에 따라 1차원 가우시안 필터 마스크를 각각 생성하여 필터링을 수행합니다. 이때 1차원 가우시안 필터 마스크를 생성하기 위해 OpenCV에서 제공하는 getGaussianKernel() 함수를 사용합니다. 이 함수는 사용자가 지정한 표준 편차를 따르는 1차원 가우시안 필터 마스크 행렬을 생성하여 반환합니다. getGaussianKernel() 함수 원형은 다음과 같습니다.