5.3.2 히스토그램 스트레칭
히스토그램 스트레칭(histogram stretching)은 영상의 히스토그램이 그레이스케일 전 구간에 걸쳐서 나타나도록 변경하는 선형 변환 기법입니다. 보통 명암비가 낮은 영상은 히스토그램이 특정 구간에 집중되어 나타나게 되는데, 이러한 히스토그램을 마치 고무줄을 잡아 늘이듯이 펼쳐서 히스토그램 그래프가 그레이스케일 전 구간에서 나타나도록 변환하는 기법입니다. 히스토그램 스트레칭을 수행한 영상은 명암비가 높아지기 때문에 대체로 보기 좋은 사진으로 바뀌게 됩니다.
히스토그램 스트레칭을 수식으로 표현하면 다음과 같습니다.
이 식에서 src와 dst는 각각 입력 영상과 출력 영상을 나타내고, Gmin과 Gmax는 입력 영상의 픽셀 값 중에서 가장 큰 그레이스케일 값과 가장 작은 그레이스케일 값을 나타냅니다.
히스토그램 스트레칭 동작 방식을 이해하기 위해 그림 5-16을 살펴보겠습니다. 그림 5-16(a)는 레나 영상과 레나 영상의 히스토그램입니다. Gmin과 Gmax는 레나 영상에서의 최소 픽셀 값과 최대 픽셀 값이며, 레나 영상의 히스토그램 분포는 Gmin과 Gmax 사이에서만 나타납니다. 이러한 히스토그램 그래프를 그레이스케일 양방향으로 늘려서 Gmin은 0이 되게 하고, Gmax는 255가 되도록 변환하면 히스토그램이 그레이스케일 전체 구간에 대해 나타나게 됩니다. 즉, 입력 레나 영상의 히스토그램이 그림 5-16(c)와 같이 되도록 변경하는 변환이 히스토그램 스트레칭입니다.
▲ 그림 5-16 히스토그램 스트레칭과 변환 함수 그래프