본문 바로가기

카테고리 없음

영상추적과 색상모델(HSV, RGB, GRAY)

영상추적 알고리즘을 공부하다가 색상모델에 대해 좀 더 알게 되었다.

우선 색을 표현하는 방법에는 가장 흔하게 알고있는 RGB와 GRAY기반의 색상모델이 있다. 

그렇다면 HSV는 다소 생소한데 HSV 색상모델에 대해 알아보자.

 

HSV 색상모델은 색상(Hue), 채도(Saturation), 명도(Value)의 3차원 좌표를 써서 특정한 을 지정한다.

 

각각의 구성요소에 대해 더 알아보자

 

1. HSV 색상모델

HSV 원기둥 색상 모델

1) 색상(Hue)

 

- 색상이란 가시광선 스펙트럼을 원모양으로 배치한 색상환에서 가장 파장이 긴 빨강을 0°라고 하였을 때 상대적인 배치 각도를 의미한다.

- 전체 원은 0°~360°의 범위를 갖고 360°와 0°는 결국 같은 색상인 빨강색을 의미한다.

- 즉, 위의 원기둥 모양에서 색상은 원기둥을 위에서 아래로 바라보았을때(2D 원) 빨강색을 기준()으로 상대적인 각도를 의미한다. 

 

2) 채도(Saturation)

 

- 채도란 특정 색상의 가장 진한 상태를 100%라 할 때, 진함의 퍼센트 정도를 나타낸다.

 

- 채도값 0%는 같은 명도의 무채색을 나타내는데, 무채색의 정의 또한 위키피디아를 찾아보면 "무채색 : 색상과 명도는 갖추고 있으나, 채도를 갖추고 있지 않은 색으로 하양과 검정, 회색이 있다" 로 나와있다.

 

- 그러면 하양,검정,회색을 결정하는건 뭐지?라고 생각할 수 있는데 저 원기둥에서 생각해보자

 

- 원기둥에서 채도를 의미하는것은 같은 색상아래 진하기이기 때문에 원기둥을 위에서 아래로 바라보았을때(2D 원) 특정 각도(색상)에서 반지름의 크기이다. 반지름이 클수록 색이 진하고 작을수록 채도가 낮다고 보면 된다.

 

- 그러면 무채색으로 돌아가서 하양,검정,회색을 결정하는 것은 다음 칸에서 알아볼 명도이다. 명도 값에 따라 가장 밝은 흰색일 수 도, 가장 어두운 검은 색일 수도 있다.

 

- 채도를 보다 직관적으로 느끼기 위해서는 쉽게 핸드폰에서 이미지 편집 기능을 통해 확인할 수 있다. 대부분의 이미지 편집 툴에서는 채도를 조절할 수 있는데 채도를 높히면 각 색들이 찐해지고 낮추면 색들이 옅어져 GRAY 이미지와 비슷해지는 것을 확인할 수 있다. (사실 채도가 0%라면 실제 그 이미지는 GRAY One channel로 바뀔것이다.)

 

3) 명도(Value)

 

- 명도는 쉽게 말해서 특정 색의 밝은 정도이다.

 

- 모든 색은 어두워지면 공통적으로 검은색이 된다. 

 

- 원기둥에서 명도가 의미하는것은 높이인데 가장 아래에 명도가 0일때 모두 검은색인 것을 확인할 수 있다. 

 

 

다음과 같이 HSV 색상모델을 이용해서 색을 표현할 때, 위의 세가지 구성요소의 조합을 활용하는 것을 알 수 있다. 

 

즉, 하나의 색은 3가지 좌표의 조합으로 표현할 수 있고 위의 원기둥 모형 내부의 한 점으로 mapping 할 수 있다. 

 

위에서 다룬 HSV 색상 모델은 그림과 같이 원기둥(cylindric) 형태이지만 아래와 같이 원뿔(conic) 형태도 있으니 참고하면 좋을 듯 하다. 

 

HSV 원뿔 색상 모델

 

2. 영상처리/영상인식에서 HSV 색상모델?

 

- 색상, 채도, 명도 각각은 0 ~ 255 사이의 값으로 표현한다.

 

- 색상 값은 색의 종류를 나타내기 때문에 빨강,파랑,초록 등 단순한 인덱스(index)를 의미한다.

 

- 채도 값은 0이면 무채색(gray 색), 255면 가장 선명한(순수한) 색이다.

 

- 명도 값은 위의 설명과 같이 0에 가까울수록 어둡고 255에 가까울수록 밝은 색임을 나타낸다. 

 

 

 

끝!