더북(TheBook)

6.4.1 히스토그램이란?

영상의 히스토그램histogram이란 영상 내에서 각 그레이스케일 값에 해당하는 픽셀의 개수를 함수의 형태로 나타낸 것이다. 히스토그램은 다음과 같은 수식으로 표현할 수 있다.

h(g) = ng

앞의 수식에서 g는 그레이스케일 값을 나타내고, ng는 그레이스케일 값이 g인 픽셀의 개수를 나타낸다. g가 가질 수 있는 값의 범위는 0부터 255까지이다.

h(g) 함수가 가질 수 있는 값은 영상의 크기에 따라 작거나 커질 수 있다. 그러므로 ng를 영상의 전체 픽셀의 개수로 나누는 정규화normalize 과정을 통하여 히스토그램을 표현하기도 한다. 정규화된 히스토그램은 다음과 같은 수식으로 표현되며, 특정 그레이스케일 값이 나타나는 확률의 개념으로 이해할 수 있다.

위 식에서 N은 영상의 전체 픽셀의 개수를 의미하고, 함수 이름은 확률probability을 의미하는 p로 변경하였다. 그레이스케일 값 전체 범위에 대해 정규화된 히스토그램 p(g) 값을 모두 더하면 1이 된다.

그림 6-29는 camera.bmp 영상에서 구한 히스토그램의 모양을 보여준다. 히스토그램을 함수의 그래프라고 생각하면, x축은 그레이스케일 값이 되고 y축은 해당 그레이스케일 값이 나타나는 빈도수(또는 확률)라고 생각할 수 있다. 그림 6-29(b)의 히스토그램 그래프에서 x축 가장 왼쪽이 그레이스케일 0에 해당하며, 가장 오른쪽은 그레이스케일 255에 해당한다. 입력 영상인 camera.bmp 파일에 대한 히스토그램은 크게 두 개의 군집으로 나누어지는 형태를 갖는다. 그림 6-29(b)의 히스토그램 그래프에서 A로 표시한 부분은 입력 영상의 카메라맨이 입고 있는 검정색 옷에 의해 발생한 것으로 추정할 수 있다. 반면에 B로 표시된 부분은 입력 영상의 배경 영역 픽셀 값에 의해 생성되었을 것이다. 입력 영상에서 그레이스케일 값이 255에 가까운 흰색 픽셀이 거의 보이지 않기 때문에 히스토그램에서도 x축의 맨 오른쪽에는 히스토그램 그래프가 거의 나타나지 않는 것을 확인할 수 있다.

그림 6-29 영상의 히스토그램 예제
(a) 입력 영상
(b) 히스토그램

히스토그램은 영상의 속성을 잘 표현하기 때문에 영상의 압축, 분할, 내용 기반 검색 등 다양한 영상 처리 분야에서 사용되고 있다. 또한 히스토그램은 그 계산 방법이 매우 간단하기 때문에 소프트웨어 또는 하드웨어로 구현하기가 용이하다는 장점도 가지고 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.