HSV 컬러모델 - Hue 는 무엇인가? Image Processing

영상처리를 하다보면 HSV 라는 컬러모델을 접하게 되는 경우가 많다. 우리가 평소에 접하는 컬러모델은 RGB 라서 그런지 조금은 생소한 느낌이 드는건 사실이다. RGB는 이미 다들 아는것처럼 Red, Green, Blue 로 이루어진 컬러모델로써, 모든 컬러를 Red, Green, Blue 의 가산혼합으로 표현하는 방식이다. 우리가 사용하고 있는 모니터가 RGB를 사용하는 대표적인 장치라고 볼 수 있겠다.

그렇다면 HSV 는 무엇일까? 어디선가 어렴풋이 본 기억이 날것이다. Hue, Saturation, Value 로 이루어진 컬러모델로써 모든 컬러를 Hue, Saturation, Value 로 표현하는 방식이다. Hue 는 색상, Saturation 은 채도. Value 는 명도를 의미한다. 정리해보면 다음과 같다.

색상 : Hue
채도 : Saturation
명도 : Value

HSV 를 그림을 살펴보면 아래와 같다. 잘 이해가 안가시는가? 처음에는 이해가 잘 안갈수도 있다. 하지만 이 그림이 머리속에 자리잡고 있다면 HSV 를 이해해서 그것을 사용하는데 참 편리하다. 이 그림만 이해한다면 HSV 는 끝이다.
(HSV 에 대해서 원론적인 설명은 인터넷에 많이 있다. 검색을 해서 찾아보자)

 

 


Hue, Saturation, Value 각 채널의 값들은 아래와 같은 범위를 가지고 있다. 위의 그림이 이해가되었다면 Hue 가 왜 360° 의 범위를 갖는지 알게 될 것이다.

Hue : 0° ~ 360°
Saturation : 0% ~ 100%
Value : 0% ~ 100%

 


OpenCV 라이브러리의 예를 들어보도록 하겠다. OpenCV 가 무엇인지는 다음의 링크로 살펴보시면 되겠다. http://www.rainless.com/blog/184

OpenCV 에서 각 채널이 1바이트인 RGB 컬러모델 (총 3바이트) 을 각 각 채널이 1바이트인 HSV 컬러모델 (총 3바이트) 로 변환하게 되면 다음과 같은 결과를 가지게 된다

Hue : 0~180
Saturation : 0~255
Value : 0~255

Saturation 과 Value 는 직관적으로 이해가 될 것이다. 하지만 Hue 는 조금 이상하게 느낄 수도 있다. 쉽게 생각하자. 각 채널이 1바이트라서 표현할 수 있는 범위가 0~255 까지 줄었기 때문에 1/2 크기로 줄여서 표현햇을 뿐이다. 즉, 0=0°, 1=2°, 2=4°, 3=6° ..... 120=240° ..... 180=360° 를 의미하게 된다.

한가지만 더 살펴보도록 하자. 포토샵에 있는 Hue/Saturation 기능을 살펴보자. 이 기능을 사용하면 영상의 Hue, Saturation, Value 값을 조절해서 자신이 원하는 영상을 생성할 수 있다.

 


여자빅뱅이라고 불리우고 있는 2NE1 의 사진을 포토샵에서 열었다. Hue 테스트를 하는데 있어서 이처럼 좋은 이미지는 없다. 모든 색상값들이 훌륭하게 분포되어있는 아주 컬러풀한 이미지다. 이 영상의 Hue 를 조절하면 어떻게 변하는지 살펴보도록 하자. 특히 왼쪽에서 세번째에 있는 노란색에 검정색 땡땡이 입고 있는 산다라박의 파란색 스타킹을 유심히 바라도록 하자. 그녀의 파란색 스타킹은 약 240° 의 Hue 값을 가지고 있다는 것을 알 수 있다. 위의 Hue 이미지를 살펴보면 왜 240° 인지 알 수 있다.

 


Hue 값을 +120° 이동시켰다. 과연 영상은 어떻게 변했을까?

 


Hue 값을 120° 이동시킨 영상이다. 왼쪽에서 3번째 있는 산다라박의 스타킹을 보자. 빨간색임을 볼 수 있다. 즉 변환 이전에 Hue 값이 파란색으로 약 240° 정도의 값을 가졌던게 120° 이동시킴으로써 빨간색 약 360° 의 값으로 변환되었다.

좀더 살펴보자 왼쪽에서 두번째에 있는 CL 을 살펴보자. 변환이전에는 분홍색의 쫄쫄이를 입고 있지만, 변환이 되고 난 이후에는 연두색의 쫄쫄이를 입고 있다. Hue 값이 어떻게 변화되었는지 살펴보면 변환이전의 분홍색은 약 310° 정도의 Hue 값을 가지고 있었지만 변환된 후에는 약 70° 정도의 Hue 값을 갖는 연두색으로 변화했음을 알 수 있다.

HSV 컬러모델은 인간의 시각시스템과 유사한 컬러모델이라고 한다. 그래서 그런지 영상의 검출및 인지 시스템 등을 만들때 HSV 컬러모델을 많이 사용하긴 한다. 알고리즘마다 차이는 있겠지만, 내가 봤었던 어떤 논문에서는 사람의 얼굴을 검출하기 위해서 1차적으로 HSV 의 Hue 값을 이용했었다. Hue 의 쓰임새는 많다. 이참에 HSV 의 Hue 에 대한 이해를 확고히 했으면 좋겠다.


덧글

  • 999 2015/11/11 11:14 # 삭제 답글

    도대체 무슨 소린지
  • king-crab 2017/01/10 15:47 # 삭제 답글

    이 보다 더 명확히 설명 해놓은 자료는 없는 것 같은데요 ㅎㅎ.
  • 소소리 2017/03/22 13:46 # 삭제 답글

    많은 도움 되었습니다. 감사합니다.
  • 얼라리여 2017/09/28 15:59 # 삭제 답글

    간단명료......good
댓글 입력 영역