이 수식에서 Lmax는 영상이 가질 수 있는 최대 밝기 값을 의미하며 일반적인 그레이스케일 영상의 경우 Lmax=255입니다. round()는 반올림 함수를 나타냅니다.
단순한 형태의 영상을 대상으로 실제 히스토그램 평활화가 동작하는 방식을 살펴보겠습니다. 테스트로 사용할 영상을 그림 5-18(a)에 나타냈습니다. 이 영상은 4×4 크기를 갖고, 픽셀의 밝기 값 범위를 0부터 7 사이로 설정한 영상입니다. 이 영상으로부터 구한 히스토그램 h(g)와 히스토그램 누적 함수 H(g)를 그림 5-18(b)에 표 형태로 나타냈습니다. 영상의 픽셀 개수가 16개이므로 H(7)에 해당하는 값이 16인 것을 확인할 수 있습니다. 테스트로 사용한 영상은 최대 밝기 값이 7이고 전체 픽셀 개수가 16이므로 정규화를 위한 상수는 7/16을 사용해야 합니다. 즉, H(g)에 7/16을 곱한 값을 결과 영상의 픽셀 값으로 설정합니다. 다만 H(g)× 의 결과가 실수로 계산되기 때문에 이 값을 반올림하여 결과 영상의 픽셀 값으로 설정합니다. 이러한 연산 과정을 그림 5-18(c)에 나타냈습니다. 결국 입력 영상에서 그레이스케일 값이 0이었던 픽셀은 변환 함수를 거쳐 2로 변경하고, 그레이스케일 값이 1이었던 픽셀은 3으로, 그레이스케일 값이 2였던 픽셀은 4로 변경합니다. 나머지 그레이스케일 값에 대해서도 비슷한 방식으로 값을 변경하면 최종적으로 그림 5-18(d)와 같이 히스토그램 평활화 결과 영상을 얻을 수 있습니다.
▲ 그림 5-18 단순한 영상에서 히스토그램 평활화 구현하기