10.2.1 컬러 히스토그램 평활화
5.3.3절에서 영상의 히스토그램 정보를 이용하여 명암비를 증가시키는 히스토그램 평활화 기법에 대해 소개했습니다. OpenCV에서는 equalizeHist() 함수를 통해 히스토그램 평활화를 수행할 수 있지만 equalizeHist() 함수는 그레이스케일 영상만 입력으로 받을 수 있습니다. 그러므로 3채널 컬러 영상에 대해 히스토그램 평활화를 수행하려면 OpenCV 함수를 조합하여 직접 구현해야 합니다.
그레이스케일 영상의 히스토그램 평활화를 배운 학생들에게 컬러 영상의 히스토그램 평활화를 구현하는 과제를 내 주면 보통 그림 10-6과 같은 방식을 많이 생각합니다. 즉, 입력 영상을 R, G, B 각 채널로 나누고, 채널별로 히스토그램 평활화를 수행한 후 다시 채널을 합치는 방식입니다. 그러나 이러한 방식은 R, G, B 색상 채널마다 서로 다른 형태의 명암비 변환 함수를 사용하게 됨으로써 원본 영상과 다른 색상의 결과 영상이 만들어지는 단점이 있습니다.
▲ 그림 10-6 RGB 각 채널에 히스토그램 평활화 수행하기