위키득계정 ↗
기술

HSV 색 공간

HSV 색 공간기술
H
Hue: 색상
S
Saturation: 채도
V
Value: 명도
활용 예
색 범위 마스크와 색 선택
HSV 색 공간은 색을 색상, 채도, 명도의 세 성분으로 표현하는 방식이다. 영상에서 특정 색의 범위를 골라 내거나 색을 조절할 때 사용하며, RGB의 세 채널과는 좌표의 의미가 다르다.

세 좌표의 의미

색상은 빨강이나 초록처럼 색의 종류를 원형으로 구분하는 좌표이고, 채도는 무채색에서 얼마나 벗어났는지를 나타낸다. 명도 성분은 RGB 세 값의 최대값에 대응하는 방식으로 정의된다. 여기서 명도라는 이름을 쓴다고 해서 사람이 느끼는 밝기나 측정한 휘도와 같다는 뜻은 아니다. 채도가 0인 무채색에서는 색상 좌표만으로 색을 구별할 수 없다.

표현 범위를 맞춰야 한다

같은 HSV라도 소프트웨어와 자료형에 따라 숫자의 범위가 다를 수 있다. OpenCV의 일반적인 8비트 변환에서는 색상이 0부터 179, 채도와 명도가 0부터 255로 표현된다. 이를 색상 각도 0부터 360도나 채도 0부터 1로 사용하는 설정과 그대로 비교하면 잘못된 범위를 선택할 수 있다. 사용한 변환과 저장 형식의 정의를 먼저 확인해야 한다.

색상 원의 경계

색상은 원을 이루므로 359도와 1도는 가깝다. 각도 차이를 단순히 빼면 358도이지만 원을 따라 가장 짧게 잰 차이는 2도다. 350도부터 10도까지의 빨강 부근을 고른다는 예에서는 350도 이상 구간과 10도 이하 구간을 합쳐야 한다. 하나의 보통 구간으로 350≤H≤10을 요구하면 아무 값도 선택되지 않는다.

색 범위와 물체 인식

색상뿐 아니라 채도와 명도의 범위를 함께 제한해 조건에 맞는 화소를 마스크로 만들 수 있다. 다만 같은 물체도 그림자, 반사와 카메라 설정에 따라 값이 변한다. 서로 다른 물체가 비슷한 색을 가질 수도 있다. 색 범위로 선택된 영역을 곧바로 특정 물체라고 단정하지 말고 형태와 위치, 시간에 따른 움직임 등 필요한 조건을 추가로 살펴야 한다.

관련 문서

이미지 처리 / 히스토그램 평활화 / 감마 보정 / 수학적 형태학 / 연결 요소 레이블링 / 광학 흐름