5.3.3 히스토그램 평활화
히스토그램 평활화(histogram equalization)는 히스토그램 스트레칭과 더불어 영상의 픽셀 값 분포가 그레이스케일 전체 영역에서 골고루 나타나도록 변경하는 알고리즘의 하나입니다. 히스토그램 평활화는 히스토그램 그래프에서 특정 그레이스케일 값 근방에서 픽셀 분포가 너무 많이 뭉쳐 있는 경우 이를 넓게 펼쳐 주는 방식으로 픽셀 값 분포를 조절합니다. 히스토그램 평활화는 히스토그램 균등화 또는 히스토그램 평탄화라는 용어로도 번역되어 사용되고 있습니다.
히스토그램 평활화를 구현하기 위해서는 먼저 히스토그램을 구해야 합니다. 설명의 편의상 그레이스케일 영상의 히스토그램을 그레이스케일 값 g에 대한 함수 h(g)로 표현하겠습니다. 즉, h(g)는 영상에서 그레이스케일 값이 g인 픽셀 개수를 나타냅니다. 히스토그램 평활화를 계산하기 위해서는 h(g)로부터 히스토그램 누적 함수 H(g)를 구해야 합니다. 히스토그램 누적 함수 H(g)는 다음 수식으로 정의됩니다.
히스토그램 평활화는 이 히스토그램 누적 함수 H(g)를 픽셀 값 변환 함수로 사용합니다. 다만 H(g) 값의 범위가 보통 그레이스케일 값의 범위(0~255)보다 훨씬 크기 때문에 H(g) 함수의 최댓값이 255가 되도록 정규화 과정을 거쳐야 합니다. 만약 입력 영상의 픽셀 개수를 N이라고 표기하면 히스토그램 평활화는 다음과 같은 형태로 정의됩니다.