더북(TheBook)

그림 8-1에서는 크기가 3×3인 마스크를 예로 들었다. 3×3 크기의 마스크를 사용할 경우, 하나의 픽셀 값에 대하여 필터링 결과를 얻기 위하여 자기 자신의 픽셀과 주변 8개 픽셀 값을 사용한다. 마스크의 크기는 항상 3×3 크기로 고정된 것은 아니며, 필요에 따라 마스크의 모양과 크기는 변경될 수 있다. 그러나 마스크의 크기가 커지거나 모양이 복잡해질수록 필터링 연산이 복잡해지거나 처리 속도가 증가할 수 있으니 유의해야 한다.

그림 8-2는 다양한 크기와 모양을 가진 필터 마스크의 예를 보여준다. 각각의 그림에서 회색 음영이 들어간 부분이 연산의 중심이 되는 위치이다. 그림 8-2(a)는 2×2 크기의 마스크이며, 연산의 중심이 마스크의 중앙이 아닌 경우의 예를 보여준다. 그림 8-2(b)는 중심 픽셀과 양 옆의 픽셀 값을 이용하여 필터링할 때 사용되는 마스크이다. 그림 8-2(C)는 가장 널리 사용되는 3×3 크기의 정방형 마스크이며, 이를 5×5 크기로 확장한 마스크가 그림 8-2(d)이다. 경우에 따라서는 그림 8-2(e)와 같이 십자가 모양의 마스크를 사용하는 경우도 있다.

그림 8-2 다양한 모양과 크기의 마스크
Note | 컨볼루션과 마스크 연산

마스크 연산을 이용한 공간적 필터링 방법은 신호 처리 분야에서 사용되는 컨볼루션(Convolution) 연산과 동일한 의미로 해석되기도 한다. 두 개의 연속 함수 f와 g에 대한 컨볼루션은 다음과 같이 정의된다.

즉, 컨볼루션은 두 개의 함수 f와 g 중 하나를 원점 기준으로 대칭시키고 이를 이동시키면서, 다른 하나의 함수와 곱한 결과를 적분하여 구할 수 있다. 위 수식은 연속 함수에 대한 정의이지만, 적분 대신 누적합을 사용하면 영상과 같은 이산 데이터에 대해서도 동일한 형태로 정의할 수 있다.

이러한 컨볼루션은 이 장에서 설명하고 있는 공간적 필터링과 매우 유사한 형태를 갖는다. 이 장에서 사용하는 필터 마스크는 대부분 상하/좌우 대칭 형태를 갖기 때문에 이러한 필터 마스크를 상하 또는 좌우 대칭을 수행하여도 동일한 형태가 된다. 그러므로 필터 마스크를 영상 모든 픽셀들 위를 순회하면서, 동일 위치의 픽셀 값과 마스크 값을 곱한 값을 누적하는 것이 컨볼루션 연산과 동일한 형태를 따른다.

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