여기서 BYTE는 주로 Windows 운영 체제에서 사용하는 이름 재정의 방식이고, uint8_t 타입은 리눅스에서 사용됩니다. OpenCV 라이브러리에서는 unsigned char 대신에 uchar라는 이름을 사용합니다. 이 책에서도 0부터 255 사이의 정수 값을 표현할 때에는 주로 uchar 자료형을 이용합니다.
실제 그레이스케일 영상에서 픽셀 밝기와 그레이스케일 값과의 상관관계를 살펴보겠습니다. 그림 1-7은 camera.bmp 영상에서 카메라맨 머리 부분의 픽셀 값 분포를 확대하여 2차원 배열 형태로 나타낸 그림입니다. 그림 1-7의 오른쪽 확대된 그림에서 밝은 회색 영역의 픽셀은 180~200 사이의 큰 값으로 구성되어 있는 것을 확인할 수 있습니다. 반면에 카메라맨의 머리카락에 해당하는 어두운 영역에서는 10~30 정도의 작은 픽셀 값을 가지고 있습니다. 즉, 영상에서 밝은 영역의 픽셀은 큰 그레이스케일 값을 가지고, 어두운 영역의 픽셀은 상대적으로 작은 그레이스케일 값을 가집니다.
▲ 그림 1-7 그레이스케일 영상에서 픽셀 값 분포