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?