이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

rgb2hsv

RGB 색을 HSV로 변환

설명

예제

HSV = rgb2hsv(RGB)는 RGB 이미지의 빨간색, 녹색, 파란색 값을 HSV 이미지의 색상, 채도, 명도(HSV) 값으로 변환합니다.

예제

hsvmap = rgb2hsv(rgbmap)은 RGB 컬러맵을 HSV 컬러맵으로 변환합니다.

예제

모두 축소

prism 컬러맵의 다운샘플링된 버전을 가져옵니다.

rgb = prism(6)
rgb = 6×3

    1.0000         0         0
    1.0000    0.5000         0
    1.0000    1.0000         0
         0    1.0000         0
         0         0    1.0000
    0.6667         0    1.0000

컬러맵의 RGB 값을 HSV로 변환합니다.

hsv = rgb2hsv(rgb)
hsv = 6×3

         0    1.0000    1.0000
    0.0833    1.0000    1.0000
    0.1667    1.0000    1.0000
    0.3333    1.0000    1.0000
    0.6667    1.0000    1.0000
    0.7778    1.0000    1.0000

2x2 트루컬러 이미지를 만듭니다.

rgb(:,:,1) = [1 1; 0 .5];
rgb(:,:,2) = [0 1; 0 .5];
rgb(:,:,3) = [0 0; 1 .5];
image(rgb);

이미지를 HSV 배열로 변환합니다.

hsv = rgb2hsv(rgb)
hsv = 
hsv(:,:,1) =

         0    0.1667
    0.6667         0


hsv(:,:,2) =

     1     1
     1     0


hsv(:,:,3) =

    1.0000    1.0000
    1.0000    0.5000

입력 인수

모두 축소

변환할 RGB 이미지로, mxnx3 숫자형 배열로 지정됩니다. RGB의 세 번째 차원은 각 픽셀의 빨간색, 녹색, 파란색 농도를 각각 정의합니다.

데이터형: single | double | uint8 | uint16

RGB 컬러맵으로, [0, 1] 범위의 값으로 구성된 cx3 숫자형 행렬로 지정됩니다. rgbmap의 각 행은 컬러맵의 하나의 색에 대한 빨간색, 녹색, 파란색 구성요소를 지정하는, 요소를 3개 가진 RGB 3색입니다.

데이터형: double

출력 인수

모두 축소

HSV 이미지로, [0, 1] 범위의 값으로 구성된 mxnx3 숫자형 배열로 반환됩니다. HSV의 세 번째 차원은 아래 표에 설명된 대로 각 픽셀의 색상, 채도, 명도를 각각 정의합니다.

특성설명
색상색상환의 색 위치에 대응하는 0 ~ 1 범위의 값. 색상 값이 0에서 1로 증가하면서, 색은 빨간색에서 주황색, 노란색, 녹색, 녹청색, 파란색, 자홍색, 그리고 다시 빨간색으로 전환됩니다.
채도색상 농도 또는 중간색으로부터의 거리. 0은 중간색 음영을 나타내는 반면, 1은 최대 채도를 나타냅니다.

특정 색의 빨간색, 녹색, 파란색 성분 중 최댓값.

HSV의 데이터형은 RGB의 데이터형에 따라 달라집니다.

  • RGBsingle형인 경우 HSVsingle형입니다.

  • 그렇지 않으면 HSVdouble형입니다.

데이터형: double | single

HSV 컬러맵으로, [0, 1] 범위의 값으로 구성된 cx3 숫자형 행렬로 반환됩니다. hsvmap의 각 행은 컬러맵의 하나의 색에 대한 색상, 채도, 명도 구성요소를 지정하는, 요소를 3개 가진 HSV 3색입니다.

데이터형은 rgbmap의 데이터형에 따라 달라집니다.

  • rgbmapsingle형인 경우 hsvmapsingle형입니다.

  • 그렇지 않으면 hsvmapdouble형입니다.

데이터형: single | double

참고 문헌

[1] Smith, A. R. “Color Gamut Transform Pairs”. SIGGRAPH 78 Conference Proceedings. 1978, pp. 12–19.

확장 기능

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

참고 항목

|

R2006a 이전에 개발됨