바이너리, 회색조, 컬러 이미지
바이너리 이미지, 그레이스케일 이미지, 컬러 이미지의 기본 표현 방법.
바이너리 이미지는 흑백, 두 가지 색상만 포함하는 이미지입니다.
컴퓨터에서 이미지는 그리드로 배열된 데이터 세트(매트릭스)를 통해 표현되고 처리됩니다.
예를 들어, 그림 2-1은 문자 A의 이미지입니다. 컴퓨터는 이미지를 처리할 때 먼저 이를 작은 사각형으로 나눕니다. 각 작은 사각형은 픽셀이라고 하는 독립적인 처리 단위입니다.
다음으로 컴퓨터는 흰색 픽셀(흰색 작은 사각형 영역)을 "1"로 처리하고 검은색 픽셀(검은색 작은 사각형 영역)을 "0"으로 처리하여 후속 처리 작업을 용이하게 합니다.
위의 처리 방법에 따르면 그림 2-1의 문자 A는 그림 2-2와 같이 컴퓨터에 저장된다.
위 이미지는 비교적 단순한 이미지로, 이미지에는 검정색과 흰색 두 가지 색상만 있어서 1비트(0 또는 1)만으로 표현할 수 있습니다.
바이너리 이미지는 간단하고 표현하기 편리하지만, 흑백 색상만 있기 때문에 표현하는 이미지가 섬세하지 않습니다. 더 자세한 내용을 보여주고 싶다면 더 많은 색상을 사용해야 합니다. 예를 들어, 그림 2-3의 lena 이미지는 회색조 이미지입니다. 다양한 색상을 반영하기 위해 더 많은 값을 사용하므로 이미지의 세부 묘사가 더 풍부해집니다.
일반적으로 컴퓨터는 회색조를 숫자 간격 [0, 255]로 표시되는 256개의 회색조 수준으로 처리합니다. 그 중 값 "255"는 순백색을 나타내고, 값 "0"은 순흑색을 나타내며, 나머지 값은 순백색에서 순흑색까지 다양한 그레이스케일 레벨을 나타냅니다. 256개의 계조를 표현하는데 사용되는 0~255의 값은 정확히 1바이트(8비트 바이너리 값)로 표현할 수 있다.
바이너리 이미지와 회색조 이미지에 비해 컬러 이미지는 더 일반적인 이미지 유형이며 더 풍부하고 세부적인 정보를 표현할 수 있습니다.
신경생리학적 실험에 따르면 망막에는 3가지 기본 색상인 빨간색, 녹색, 파란색의 세 가지 색상을 감지할 수 있는 세 가지 색상 수용체가 있는 것으로 나타났습니다. 자연에서 흔히 볼 수 있는 다양한 색의 빛은 삼원색을 일정 비율로 혼합함으로써 만들어질 수 있습니다. 또한, 색상은 광학적 관점에서 주파장, 순도, 명도 등으로 분석할 수 있습니다. 색상은 심리적, 시각적 관점에서 색상, 채도, 명도 등으로 분석할 수 있습니다. 일반적으로 위에서 언급한 색상을 다양한 방식으로 표현하는 방식을 색공간, 색공간, 색 모드 등으로 지칭합니다.
색공간마다 표현방법이 다르지만 필요에 따라 다양한 색공간을 수식에 따라 변환할 수 있습니다. 여기서는 보다 일반적으로 사용되는 RGB 색상 공간만 소개합니다.
RGB 색공간에는 R(빨간색, 빨간색) 채널, G(녹색, 녹색) 채널, B(파란색, 파란색) 채널의 세 가지 채널이 있습니다. 각 색상 채널의 값 범위는 [0, 255] 사이이며, 이 세 가지 색상 채널의 조합을 사용하여 색상을 표현합니다.
좀 더 대중적으로 설명하자면 각각 빨간색, 녹색, 파란색 페인트가 들어 있는 세 개의 페인트 통이 있습니다. 각 페인트 통에서 0~255 단위의 용량을 만들 수 있습니다. 물감의 양을 달리하지 않고 세 가지 물감을 섞어서 새로운 색상을 만들어보세요. 세 가지 페인트의 다양한 조합을 통해 일반적인 256×256×256=16777216 색상을 모두 생산할 수 있습니다.
따라서 컬러 이미지를 RGB 색공간으로 표현하기 위해서는 일반적으로 3차원 배열을 사용합니다. 일반적으로 RGB 색공간에서 영상 채널의 순서는 R→G→B 즉, 첫 번째 채널이 R 채널, 두 번째 채널이 G 채널, 세 번째 채널이 B 채널이 됩니다.
OpenCV에서 채널 순서는 B→G→R이라는 점에 유의하는 것이 중요합니다. 즉:
이미지 처리 과정에서 이미지의 채널 순서는 다음과 같습니다. 필요에 따라 변경됩니다. 변환을 수행합니다.
또한 필요에 따라 다양한 색상 공간의 이미지에 대한 유형 변환을 수행할 수도 있습니다(예: 회색조 이미지를 이진 이미지로 처리, 컬러 이미지를 회색조 이미지로 처리 등).