1. Color Space
1. Color Space란?
Color Space, 색 공간이란 color system을 3차원으로 표현한 공간 개념이다.
color system은 여러 디바이스에서 정확한 색을 구현하기 위하여 활용된다. color space는 색상(hue), 명도(lightness), 채도(chroma)를 기본으로 하는 3차원 공간이다.
오른 쪽 그림 색역 표이다. 디바이스마다 디스플레이, 이미지 센서, 프로세서 등이 다르기 때문에 색역을 전부 표현할 수 없는데 이 제한된 영역을 기기의 색역이라 한다.
이는 색재현률로 표현이 되며 색 재현 규격에는 sRGB, DCI, NTSC 등 여러 색 재현 규격이 있다.
2. 대표적인 색 공간
- RGB
색을 혼합하면 명도가 올라가는 가산 혼합 방식으로 색을 표현한다. color image에서 jpeg 이미지에서는 3채널 이미지로 RGB 각 채널별로 8bit로 이미지를 표현한다. 4채널인 경우 이미지의 투명도를 표현한 알파 채널이 존재한다.
RGB 색상을 Gray scale로 표현할 경우 인간의 눈이 초록색에 더 민감하기 때문에 초록색의 밝기에 더 높은 가중치를 두어 색을 변환한다. 이는 Image Sensor에서 4개의 subpixel에서 초록색이 2개인 이유이다.
- CMYK
CMYK 색 공간은 프린터에서 볼 수 있는 색 공간이다. 색을 혼합하면 명도가 낮아지는 감산혼합 방식이다. RGB와는 다르게 검정색이 표현된 것을 볼 수 있다. 이는 true black의 경우 표현하기 어렵고 검은색의 사용 빈도가 매우 높기 때문에 검정색이 추가되었다.
- HSV
HSV 색 공간은 색상(Hue), 채도(Saturation), 명도(value)를 기준으로 색을 표현한다.
Image signall procesing에서는 색상은 [0,360]의 범위를 갖지만 8bit에서는 표현할 수 없기 때문에 2로 나누어주어서 H를 [0,179]의 범위로 표현한다.
S값이 작을수록 채도가 없는 흰색을 나타내고 V값이 밝기를 나타내며 원뿔의 꼭지점에 가까워질수록 어두운 검은색을 나타낸다.
- YUV
YUV 색 공간은 Y'UV,Y CbCr 등 색공간과 유사한 의미가 있으므로 대략적으로 설명하겠다.
YUV 색 공간은 JPEG, H.264등 영상 압축에서 주로 사용하는 색 공간이다. (실제로는 YCbCr) 이는 사람이 밝기와 색차정보 중 밝기에 민감하기 때문에 색공간을 밝기와 색차정보로 분리한 것이다.
밝기 Y와 파랑을 나타내는 U, 빨강을 나타내는 V로 밝기와 빨간색, 파란색의 색차정보를 나타낸다.
색차 정보를 손실해도 밝기 변화보다 덜 민감하기 때문에 압축에서 주로 사용이 된다. 압축 과정에서는 chroma subsampling을 사용하여 밝기 정보에 비해서 색차정보를 덜 샘플링하여 압축 을 하게된다.
'Machine Learning > Image Processing' 카테고리의 다른 글
8. [Python] Morpological Transfomation (0) | 2022.08.15 |
---|---|
7. [Python] Thresholding (0) | 2022.08.08 |
6. [Python] Image Compression (0) | 2022.08.05 |
5. [Python] Histogram Modeling (0) | 2022.07.28 |
4. [Python] Frequency Domain (0) | 2022.07.22 |
3. [Python] Spatial Domain (0) | 2022.07.13 |
2. [Python] Color Channel (0) | 2022.07.13 |
댓글