더북(TheBook)

마스크 연산을 이용한 공간적 필터링을 구현할 때, 영상의 최외곽에 위치한 픽셀들에 대해서는 특별한 조치를 해주어야 한다. 3×3 크기의 마스크를 사용할 경우, 최외곽 픽셀들이란 0번째 행과 열, 그리고 w - 1번째 열과 h - 1번째 행에 위치한 픽셀들을 의미한다. 예를 들어 (4, 0) 위치의 픽셀에 대하여 3×3 크기의 마스크를 적용할 경우 (3, -1), (4, -1), (5, -1) 등의 실제 영상에서 존재하지 않는 픽셀 값을 참조하기 때문에 오류가 발생한다. 마찬가지로 (w - 1, h - 1) 위치의 픽셀에서는 (w, h) 등의 위치에 있는 픽셀 값을 참조해야 하는데 이 또한 불가능하다. 그러므로 최외곽 픽셀에 대해서는 보통 다음과 같은 형태의 조치를 해주고 있다.

• 최외곽 픽셀은 마스크 연산에서 제외한다.

• 최외곽 바깥에 가상의 픽셀이 있다고 가정한다. 가상의 픽셀 값은 0 또는 주변 픽셀 값을 복사하여 사용한다.

3×3 크기의 마스크를 사용하는 경우에 대하여, 위 두 가지 방법에 대한 개념을 그림 8-3에 나타내었다. 그림 8-3에서 회색으로 칠해진 픽셀들이 실제로 마스크 연산이 수행되는 픽셀들이다. 그림 8-3(a)는 입력 영상에서 최외곽 픽셀들을 마스크 연산에서 제외하는 방법을 표시한 것으로써 흰색으로 채워진 영상의 바깥쪽 픽셀들은 실제 마스크 연산에서 제외되고 안쪽의 회색 픽셀들에 대해서만 마스크 연산을 수행한다. 마스크 연산이 적용된 결과 영상에서 최외곽 픽셀의 값은 원본 영상의 최외곽 픽셀 값을 그대로 복사하거나 또는 임의의 값(예를 들어 0 또는 255)으로 설정한다. 그림 8-3(b)는 최외곽 픽셀의 바깥쪽에 가상의 픽셀을 설정하여 그 값을 이용하여 마스크 연산을 하는 방법을 나타낸다. 그림에서 점선으로 그려진 픽셀의 값은 0으로 설정하거나 또는 주변 픽셀의 값과 동일하게 설정하여 사용할 수 있다. 이 두 방법 중 어느 것이 더 좋다고 말하기는 어려우며, 필요에 따라 구현 방법을 선택하여 사용할 수 있다.

그림 8-3 마스크 연산 시 최외곽 픽셀의 처리 방법
(a)
(b)
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.