Convert RGB colors to HSV
Get a down-sampled version of the prism colormap.
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
Convert the RGB values in the colormap to 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
Create a 2-by-2 truecolor image.
rgb(:,:,1) = [1 1; 0 .5]; rgb(:,:,2) = [0 1; 0 .5]; rgb(:,:,3) = [0 0; 1 .5]; image(rgb);

Convert the image to an HSV array.
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 — RGB imageRGB image to convert, specified as an
m-by-n-by-3 numeric array. The
third dimension of RGB defines the red, green, and blue
intensity of each pixel, respectively.
Data Types: single | double | uint8 | uint16
rgbmap — RGB colormapRGB colormap, specified as a c-by-3 numeric matrix with
values in the range [0, 1]. Each row of rgbmap is a
three-element RGB triplet that specifies the red, green, and blue components
of a single color of the colormap.
Data Types: double
HSV — HSV imageHSV image, returned as an
m-by-n-by-3 numeric array with values
in the range [0, 1]. The third dimension of HSV defines
the hue, saturation, and value for each pixel, respectively, as described in
the table.
| Attribute | Description |
|---|---|
| Hue | Value from 0 to
1 that corresponds to the color’s
position on a color wheel. As hue increases from
0 to 1, the
color transitions from red to orange, yellow, green,
cyan, blue, magenta, and finally back to red. |
| Saturation | Amount of hue or departure from neutral.
0 indicates a neutral shade,
whereas 1 indicates maximum
saturation. |
| Value | Maximum value among the red, green, and blue components of a specific color. |
The data type of HSV depends on the type of
RGB:
If RGB is of type
single, then HSV is
of type single.
Otherwise, HSV is of type
double.
Data Types: double | single
hsvmap — HSV colormapHSV colormap, returned as a c-by-3 numeric matrix with
values in the range [0, 1]. Each row of hsvmap is a
three-element HSV triplet that specifies the hue, saturation, and value
components of a single color of the colormap.
The data type depends on the type of rgbmap:
If rgbmap is of type
single, then hsvmap is
of type single.
Otherwise, hsvmap is of type
double.
Data Types: single | double
[1] Smith, A. R. “Color Gamut Transform Pairs”. SIGGRAPH 78 Conference Proceedings. 1978, pp. 12–19.
This function fully supports GPU arrays. For more information, see Run MATLAB Functions on a GPU (Parallel Computing Toolbox).
This function fully supports distributed arrays. For more information, see Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).
You have a modified version of this example. Do you want to open this example with your edits?