[OpenCV] 영상의 구조와 표현 방법

이번글에서는 영상의 구조와 표현방법에 대해 알아보겠습니다.

영상은 2차원으로 구성된 픽셀(pixel)로 이루어져있습니다. 픽셀은 영상을 구성하는 최소 단위 이며, 밝기 또는 색상을 표현합니다. 보통 모니터의 크기는 1920 X 1080 크기를 가집니다. 이 말은 즉, 가로 1920, 세로 1080개의 픽셀이 있다는 의미입니다.
그림으로 보면 아래와 같습니다.

영상은 2차원 평면 위에 많은 픽셀이 나열되어 있기 때문에, 수학적으로 표현할 때 아래와 그림과 같이 행렬로 표현 합니다.

컴퓨터 영상은 주로 그레이스케일 영상과 컬러 영상으로 구분 됩니다.

그레이스케일 영상의 경우 흑백 영상처럼 밝기정보로만 이루어져 있으며, 0 ~ 255의 값으로 이루어진 픽셀이 2차원 배열로 구성되어 있습니다. 255에 가까울 수록 더 밝고, 0에 가까울수록 더 어둡습니다.

위의 그레이스케일 영상 중 일부를 확대해서 보면 아래와 같이 0 ~ 255 사이의 값으로 이루어진 픽셀이 보일겁니다.

그레이스케일 값은 OpenCV 에서 unsigned char 자료형을 이용합니다.
컬러 영상의 경우 밝기 정보 한개만 표현하는 그레이스케일과 다르게 R(빨강), G(초록), B(파랑) 세 개의 색상 정보를 표현하는 하나의 픽셀로 구성되어있습니다.

R, G, B는 각각 unsigned char 자료형으로 표현하며, 컬러 영상 중 일부를 확대해서 보면 아래와 같이 표시됩니다.

확대한 이미지의 픽셀 표현은… 제가 직접 그림판으로 예상하고 만든 것이여서 이상하게 보일수 있습니다.

이상으로 영상의 구조와 표현에 대해서 알아 봤습니다.