보통 프로그래밍을 하면서, 상황에 맞는 색상 모델을 정해야 합니다.
이러한 색상 모델에는 여러 가지 종류가 있습니다.
이번 포스팅은 간단하게 색상 모델에 대한 특징만 정리하겠습니다.
먼저, 색상모델이라고 하면 Gray, RGB, HSV, HSV, YCbCr 모델 등이 기본적이라고 합니다.
Gray 모델 - 색(Color) 정보를 사용하지 않고, 밝기 정보만으로 영상을 표현하는 것입니다.
검정 (0) 부터 흰색 (255) 까지 총 256 단계의 밝기 값(Intensity)으로 영상 픽셀 값을 표현합니다.
RGB 모델 - 가장 기본적인 색상 모델로, 색(Color)을 Red, Green, Blue의 3가지 성분의 조합으로 생각하는 것을 말
합니다. RGB 모델에서 검은색은 R = G = B = 0, 흰색은 R = G = B = 255, 빨간색은 R = 255, G = B = 0, 노란색
은 R = G = 255, B = 0으로 표현합니다. R = G = B 인 경우는 무채색인 Gray 색상이 됩니다. R, G, B 각각은 0 ~
255 사이의 값을 가질 수 있으므로, RGB 색상 모델을 사용하면 총 256 * 256 * 256 = 16,777,216 가지의 색을 표현
할 수 있습니다.
(0, 0, 0) : 검정
(255, 255, 255) : 하양
(255, 0, 0) : 빨강
(0, 255, 0) : 초록
(0, 0, 255) : 파랑
(255, 255, 0) : 노랑
(0, 255, 255): 시안
(255, 0, 255) : 마젠타
HSV 모델 - Hue(색조), Saturation(채도), Value(명도)의 3가지 성분으로 색을 표현합니다. Hue는 색조 ( 예 : 붉은
색 계열인지 푸른색 계열인 지) 를 나타내고, Saturation은 그 색이 얼마나 선명한(순수한) 색인지, Value 는 밝기
(Intensity)를 나타냅니다. HSV 모델은 우리가 색을 가장 직관적으로 표현할 수 있는 모델이고, 머리속에서 상상하
는 색을 가장 쉽게 만들어낼 수 있는 모델입니다.
영상처리 / 영상인식에서 HSV 모델을 사용할 때, H, S, V 각각은 0 ~ 255 사이의 값으로 표현됩니다.
H 값은 색의 종류를 나타내기 땜누에 크기는 의미가 없으며 단순한 인덱스(Index)를 나타냅니다.
S 값은 0이면 무채색 (gray 색), 255면 가장 선명한(순수한) 색임을 나타냅니다.
V 값은 작을수록 어둡고, 클수록 밝은 색임을 나타냅니다.
HSV 색상 모델은 그림과 같이 원뿔(conic) 형태, 원기둥(cylindric) 형태가 있습니다.
YCbCr 모델 - RGB 색에서 밝기 성분(Y)과 색차 정보(Cb, Cr)를 분리하여 표현하는 색상 모델입니다.
디지털 영상에서 Y, Cb, Cr 은 각각 0 ~ 255 사이의 값을 가지며, Y가 커지면 그림이 전체적으로 밝아지고, Y가 작아지면 전체적으로 어두워집니다.
YCbCr 모델은 mpeg에서 사용되는 색상모델로써, 인간의 눈이 밝기 차에는 민감하지만, 색차에는 상대적으로 둔감하다는 점을 이용해서 Y에서 많은 비트 수(해상도)를 할당하고 Cb, Cr에는 낮은 비트 수를 할당하는 방식으로 비디오를 압축합니다. 따라서 비디오 데이터를 처리할 경우에 YCbCr 모델을 사용하면 별도의 색상 변환을 하지 않아도 되는 장점을 가지고 있습니다.
또한, YCbCr 모델은 YUV 모델로도 불립니다.
출처 : http://darkpgmr.tistory.com/66
'컴퓨터 관련' 카테고리의 다른 글
아스키코드(ASCII) 표 (0) | 2017.04.18 |
---|---|
RGB 컬러, CYMK 컬러 정리 (0) | 2017.04.17 |
[알고리즘] 에라토스테네스의 체 (0) | 2017.04.15 |
[git] stash 정리. (0) | 2017.04.14 |
[GIT] 강제 pull 받기. (0) | 2017.04.14 |
댓글