더북(TheBook)

다음 9×1 행렬 g는 1차원 가우시안 함수에 의해 만든 마스크 필터이다.

행렬 g의 전치 행렬transpose matrix을 gT로 표기할 경우, 다음과 같이 나타낼 수 있다. 여기서 전치 행렬이란 행렬의 행과 열을 서로 바꾸어 만든 행렬을 의미한다.

gT = (0.0001 0.0044 0.0540 0.2420 0.3989 0.2420 0.0540 0.0044 0.0001)

즉, 행렬 g는 영상을 1차원 세로 방향으로 가우시안 필터링하는 마스크이고, gT는 영상을 1차원 가로 방향으로 가우시안 필터링하는 마스크로 간주할 수 있다. 이 두 행렬의 곱인 g•gT는 다음과 같이 계산된다.

위 g•gT 계산의 결과 행렬은 9×9 크기를 가지며, 이는 앞에서 살펴본 그림 8-11과 완전히 동일함을 알 수 있다.

결국 가우시안 필터를 실제로 구현할 때에도 g•gT에 해당하는 9×9 크기의 마스크 연산을 수행하는 것이 아니라, 9×1 크기의 마스크와 1×9 크기의 마스크를 이용하여 각각 마스크 연산을 수행하는 방식으로 구현할 수 있다. 이러한 과정을 그림 8-12에 나타내었다. 그림 8-12에서 가장 왼쪽의 그림은 입력 영상과 세로 방향의 1차원 가우시안 마스크와의 마스크 연산을 의미한다. 이 결과 영상을 가지고, 다시 가로 방향의 1차원 가우시안 마스크 연산을 수행하는 그림을 가운데에 나타내었다. 이처럼 세로와 가로 방향으로 각각 1차원 가우시안 마스크 연산을 수행하면 결국 2차원 가우시안 마스크 연산을 수행한 것과 동일한 결과를 생성하게 된다.

그림 8-12 1D 가우시안 필터를 이용한 2D 가우시안 필터링 구현

1D 세로 방향 가우시안

1D 가로 방향 가우시안

2D 가우시안 필터링

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