Jump to content

HSV color space

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by (3ucky(3all (talk | contribs) at 03:41, 27 June 2006 (Transformation from RGB to HSV: Rearrangement of original image for clarity. Original image still referenced in description.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

For the German football club, see Hamburger SV.

The HSV (Hue, Saturation, Value) model, also known as HSB (Hue, Saturation, Brightness), defines a color space in terms of three constituent components:

  • Hue, the color type (such as red, blue, or yellow):
    • Ranges from 0-360 (but normalized to 0-100% in some applications)
  • Saturation, the "vibrancy" of the color:
    • Ranges from 0-100%
    • Also sometimes called the "purity" by analogy to the colorimetric quantities excitation purity and colorimetric purity
    • The lower the saturation of a color, the more "grayness" is present and the more faded the color will appear, thus useful to define desaturation as the qualitative inverse of saturation
  • Value, the brightness of the color:
    • Ranges from 0-100%

The HSV model was created in 1978 by Alvy Ray Smith. It is a nonlinear transformation of the RGB color space, and may be used in color progressions. Note that HSV and HSB are the same, but HSL is different.

Visualization of HSV

The HSV model is commonly used in computer graphics applications. In various application contexts, a user must choose a color to be applied to a particular graphical element. When used in this way, the HSV color wheel is often used. In it, the hue is represented by a circular region; a separate triangular region may be used to represent saturation and value. Typically, the vertical axis of the triangle indicates saturation, while the horizontal axis corresponds to value. In this way, a color can be chosen by first picking the hue from the circular region, then selecting the desired saturation and value from the triangular region.

An HSV color wheel allows the user to quickly select a multitude of colors.
Time-varied representation of the HSV color wheel.

Another visualization method of the HSV model is the cone. In this representation, the hue is depicted as a three-dimensional conical formation of the color wheel. The saturation is represented by the distance from the center of a circular cross-section of the cone, and the value is the distance from the pointed end of the cone. Some representations use a hexagonal cone, or hexcone, instead of a circular cone. This method is well-suited to visualizing the entire HSV color space in a single object; however, due to its three-dimensional nature, it is not well-suited to color selection in two-dimensional computer interfaces.

The conical representation of the HSV model is well-suited to visualizing the entire HSV color space in a single object.
Time-varied representation of the HSV cone.

The HSV color space could also be visualized as a cylindrical object; similar to the cone above, the hue varies along the outer circumference of a cylinder, with saturation again varying with distance from the center of a circular cross-section. Value again varies from top to bottom. Such a representation might be considered the most mathematically accurate model of the HSV color space; however, in practice the number of visually distinct saturation levels and hues decreases as the value approaches black. Additionally, computers typically store RGB values with a limited range of precision; the constraints of precision, coupled with the limitations of human color perception, make the cone visualization more practical in most cases.

The cylindrical representaion of the HSV model might be considered the most mathematically accurate model of the HSV color space.
Time-varied representation of the HSV cyclinder.

HSV and color perception

Artists sometimes prefer to use the HSV color model over alternative models such as RGB or CMYK, because of its similarities to the way humans tend to perceive color. RGB and CMYK are additive and subtractive models, respectively, defining color in terms of the combination of primaries, whereas HSV encapsulates information about a color in terms that are more familiar to humans: What color is it? How vibrant is it? How light or dark is it? The HLS color space is similar and arguably even better than HSV in this respect.

The HSV tristimulus space does not technically support a one-to-one mapping to physical power spectra as measured in radiometry. Thus it is not generally advisable to try to make direct comparisons between HSV coordinates and physical light properties such as wavelength or amplitude. However, if physical intuitions are indispensable, it is possible to translate HSV coordinates into pseudo-physical properties using the psychophysical terminology of colorimetry as follows:

  • Hue specifies the dominant wavelength of the color, except in the range between red and indigo (somewhere between 240 and 360 degrees) where the Hue denotes a position along the line of pure purples
  • If the hue perception were recreated, actually using a monochromatic, pure spectral color at the dominant wavelength, the desaturation would be roughly analogous to an applied frequency spread around the dominant wavelength or alternatively the amount of equal-power (i.e. white) light added to the pure spectral color.
  • The value is roughly analogous to the total power of the spectrum, or the maximum amplitude of the light waveform. However, it should be obvious from the equations below that value is actually closer to the power of the greatest spectral component (the statistical mode, not the cumulative power across the distribution.)

Transformation from RGB to HSV

File:Barns grand tetons HSV sepa.jpg
An image, along with its H, S and V components. Note that the H element is the only one displaying colour. Compare the dark on the left side of the barn roof and the white of the snow; in both cases these have colour, but the saturation is very low, causing them to be near-greyscale; the intensity of the barn, however, is much lower than the snow. The green of the grass is highly saturated and of moderate intensity; the blue of the mountains is consistent in colour but varies in intensity and saturation; and the sky has constant colour and intensity but varying saturation.

Given a color defined by (R, G, B) where R, G, and B are between 0.0 and 1.0, with 0.0 being the least amount and 1.0 being the greatest amount of that color, an equivalent (H, S, V) color can be determined by a series of formulas.

Let MAX equal the maximum of the (R, G, B) values, and MIN equal the minimum of those values. The formula can then be written as

The resulting values are in (H,S,V) form, where H varies from 0.0 to 360.0, indicating the angle in degrees around the color circle where the hue is located. S and V vary from 0.0 to 1.0, with 0.0 being the least amount and 1.0 being the greatest amount of saturation or value, respectively. As an angular coordinate, H can wrap around from 360 back to 0, so any value of H outside of the 0.0 to 360.0 range can be mapped onto that range by dividing H by 360.0 and finding the remainder (also known as modular arithmetic). Thus, -30 is equivalent to 330, and 480 is equivalent to 120, for example.

Note also that the formulas given here reflect some other properties of HSV:

  • If MAX = MIN (i.e. S = 0), then H is undefined. This is apparent, considering the diagrams of HSV space above. If S = 0 then the color lies along the central line of grays, so naturally it has no hue, and the angular coordinate is meaningless.
  • If MAX = 0 (i.e. if V = 0), then S is undefined. This is best illustrated in the conical diagram above. If V = 0, then the color is pure black, so naturally it has neither hue, nor saturation. Thus the conical diagram collapses to a single point and both the angle and radius coordinates are meaningless at that point.

For those who favor the conical model over the cylinder, a conical space can be achieved by changing the equation for S:

.

See File:RGB HSV Conversion.xls for an RBG <-> HSV conversion spreadsheet.

Transformation from HSV to RGB

An illustration of the method used for converting from HSV to RGB.

Given a color defined by (H, S, V) values, with H, ranging from 0.0 inclusive to 360.0 exclusive, indicating the angle, in degrees, around the color circle where the hue is located, and with S and V, varying between 0.0 and 1.0, representing the saturation and value, respectively, a corresponding (R, G, B) color can be determined through a series of formulas. Note that the (R, G, B) values will be between 0.0 and 1.0.

First, if S is equal to 0.0, then the resulting color is achromatic, or grey. In this special case, R, G, and B are simply equal to V. As above, H is irrelevant in this situation.

When S is non-zero, the following formulas can be used:

See File:RGB HSV Conversion.xls for an RGB <-> HSV conversion spreadsheet.

References

  • Rafael Gonzalez, Richard E. Woods (2002) Digital Image Processing, 2 ed, Prentice Hall Press. p. 295, ISBN 0-201-18075-8

See also