더북(TheBook)

8.3.1 언샤프 마스크 필터링

언샤프 마스크 필터unsharp mask filter는 영상을 날카롭게 만드는 방법 중 하나이다. 언샤프 마스크라는 용어는 이 필터가 말 그대로 날카롭지 않은unsharp 영상을 사용하기 때문에 붙여진 이름이다. 여기서 날카롭지 않은 영상이란 8.2절에서 설명한 부드러워진 영상을 의미한다. 언샤프 마스크 필터링에서는 다음과 같은 수식을 사용하여 영상의 엣지가 강조된 영상을 만들어 사용한다.

g(x, y) = f (x, y) - 362 (x, y)

위 식에서 f(x, y)는 입력 영상을 의미하고, (x, y)는 입력 영상을 부드럽게 변환한 영상이다. 결과 영상 g(x, y)는 입력 영상에서 엣지 부분에 해당하는 픽셀에서만 큰 양수 또는 음수 값을 가지며, 평탄한 영역에서는 0에 가까운 값을 갖는다. 이를 이용하여 최종적으로 날카로운 부분만 강조한 영상을 만들기 위해서는 원래 영상에 g(x, y)를 더해주는 연산이 필요하다. 결과적으로 날카로운 영상을 만드는 최종 수식은 다음과 같다.

h(x, y) = f (x, y) + g(x, y)

언샤프 마스크 필터를 이용하여 영상을 날카롭게 만드는 과정을 이해하기 위하여 그림 8-16을 살펴보도록 하자. 그림 8-16(a)는 입력 영상의 엣지 부분에서의 그레이스케일 값의 변화를 1차원 함수 f(x)로 표현한 것이다. x 값이 증가함에 따라 그레이스케일 값이 크게 증가하는 것을 볼 수 있다. 이러한 함수를 부드럽게 변화시킨 결과가 그림 8-16(b)의 (x)이다. (x)는 x축을 따라 함수 값이 조금은 완만하게 증가하는 형태로 바뀌었다. 입력 함수 f(x)에서 (x)를 뺀 결과가 그림 8-16(C)의 g(x) 함수이다. g(x)는 입력 함수의 엣지 부분에서만 0이 아닌 값을 갖는 함수 형태이다. 마지막으로 g(x)를 다시 원본 함수 f(x)와 더하면 그림 8-16(d)의 h(x)와 같이 엣지가 강조된 함수가 생성된다.

그림 8-16 1차원 함수에서 언샤프 마스크 필터의 이해
(a)
(b)
(c)
(d)
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.