더북(TheBook)

6.5.1 히스토그램 스트레칭

히스토그램 스트레칭Histogram Stretching은 영상의 히스토그램이 그레이스케일 전 구간에서 골고루 나타나도록 변경하는 선형 변환 기법이다. 보통 명암비가 낮은 영상은 히스토그램이 특정 구간에 집중되어 나타나게 되는데, 마치 고무줄을 늘이듯이 히스토그램을 잡아 펼쳐서 그레이스케일 전 구간에서 히스토그램 그래프가 나타나도록 변환하는 기법이 히스토그램 스트레칭이다. 결과적으로 히스토그램 스트레칭을 수행한 영상은 명암비가 높아져서 일반적으로 보기 좋은 사진 형태로 바뀌게 된다.

일단 히스토그램 스트레칭을 수식으로 표현하면 다음과 같다.

위 식에서 f(x, y)와 g(x, y)는 각각 입력 영상과 출력 영상을 나타낸다. 그리고 Gmin과 Gmax는 입력 영상의 픽셀 값 중에서 가장 낮은 그레이스케일 값과 가장 큰 그레이스케일 값을 의미한다.

히스토그램 스트레칭의 동작 방식을 좀 더 구체적으로 이해하기 위해 그림 6-36을 살펴보자. 그림 6-36(a)는 입력 영상과 그에 해당하는 히스토그램을 보여준다. 입력 영상의 히스토그램은 Gmin과 Gmax 사이에서만 나타날 것이다. 이러한 히스토그램을 그레이스케일 양방향으로 늘려서 Gmin은 0이 되게 하고, Gmax는 255가 되도록 하면 전체적으로 명암비가 높아지는 형태로 바뀔 것이다. 그렇게 변경한 영상이 그림 6-36(C)이다.

그림 6-36 히스토그램 스트레칭과 함수 그래프의 관계
(a)
(b)
(c)
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.