HSV-Farbraum

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Farbwert H, Sättigung S, Dunkelstufe V
Farbtonskala

Der HSV-Farbraum ist der Farbraum etlicher Farbmodelle, bei denen man die Farbe mit Hilfe des Farbwerts (englisch hue), der Farbsättigung (saturation) und des Hellwerts (oder der Dunkelstufe) (value) definiert. Ähnliche Definitionen führen zu einem HSL-Farbraum mit der relativen Helligkeit (lightness), einem HSB-Farbraum mit der absoluten Helligkeit (brightness) und einem HSI-Farbraum mit der Lichtintensität (intensity).

Koordinaten des HSV-Farbmodells[Bearbeiten]

Für die Beschreibung des Farbortes in diesem Farbraum werden folgende Parameter benutzt:

  • Farbwert als Farbwinkel H auf dem Farbkreis (etwa 0° für Rot, 120° für Grün, 240° für Blau)
  • Sättigung S in Prozent (0 % = Neutralgrau, 50 % = wenig gesättigte Farbe, 100 % = gesättigte, reine Farbe) oder in einem Intervall von Null bis Eins
  • Hellwert V als Prozentsatz (0 % = keine Helligkeit, 100 % = volle Helligkeit), oder in einem Intervall von Null bis Eins, auch Dunkelstufe genannt.

HSV-Raum und Farbwahrnehmung[Bearbeiten]

Die HSV-Koordinaten am Beispiel Navyblau

In Fragen der Farbnachstellung wird das HSV-Paradigma gegenüber den Alternativen RGB und CMYK bevorzugt, weil es der menschlichen (künstlerischen) Farbwahrnehmung ähnelt. So ist es leichter, die jeweils gewünschte Farbe zu finden: Man kann für die Farbmischung unmittelbar den Farbton wählen und dann entscheiden, wie gesättigt und wie hell (oder dunkel) dieser sein soll, oder ob eine andere Farbnuance passender ist. RGB und CMYK hingegen sind Wahlmethoden, die an die vorhandenen (geräteabhängigen) Grundfarben gebunden sind, sodass weniger die freie Wahl, sondern das Farbergebnis im Vordergrund steht.

Die HSV-Koordinaten einer Körperfarbe – die notwendigerweise eine Mischfarbe ist – sind nicht unmittelbar aus den Parametern ihres physikalischen Lichtspektrums zu bestimmen, wie dies in der Radiometrie mit den Spektralwertkurven möglich ist. Mittels geeigneter farbmetrischer Formelsätze wird aus den HSV-Koordinaten auf die Parameter wie Wellenlänge und Amplitude rückgeschlossen. Begrenzend wirkt hier allerdings die Metamerie, da es nicht ohne Probleme möglich ist, aus drei Parametern die Vielheit eines Spektrums zu ermitteln. Bei Anwendungen des HSV-Systems geht es allerdings meist um Auswahl von Farben.

  • Farbwinkel: er spezifiziert die dominante Wellenlänge der Farbe, mit Ausnahme des Bereiches zwischen Blauviolett und Rot (240° und 360°), wo er eine Position auf der Purpurlinie angibt.
  • Sättigung entspricht der „Zumischung“ von purem Weiß (d. h. Licht mit gleichen Intensitäten in allen Wellenlängen, stärkere „Zumischung“ entspricht geringerer Sättigung) zu einer simulierten Spektralfarbe oder vielmehr der entsprechenden Spaltbreite um die dominante Wellenlänge herum.
  • Helligkeit: Parameter für den Gesamtenergieinhalt, beziehungsweise die maximale Amplitude des Lichts. Die Dunkelstufe ergänzt diesen Wert im Gegensätzlichen.

Nachteilig bei der Dunkelstufe ist, dass Weiß und ein beliebiger Farbton die gleiche Sättigung haben können. In diesem System wird Weiß als Buntfarbe behandelt. In der Praxis wiederum ist die Umwandlung eines Farbbildes in ein Schwarz-Weiß-Bild durch Ändern nur einer Koordinate nicht möglich.

Visualisierung des HSV-Modells[Bearbeiten]

Modelle des Farbraumes[Bearbeiten]

HSV-Farbraum als Kegel
HSV-Farbraum als Zylinder
  • Eine Methode um die HSV-Parameter anschaulich zu machen ist der auf der Spitze stehende HSV-Kegel, wodurch die Helligkeit von unten nach oben zunimmt.
  • Andere Darstellungen benutzen einen Zylinder, wobei das (eigentlich nur eine) Schwarz zur Fläche wird.
  • Metrisch korrektere Modelle verwenden eine Halbkugel.
  • Wird der HSV-Farbraum als hexagonale Pyramide dargestellt, sind die S-Werte nicht mehr direkt ablesbar, oder es werden S-Werte verwendet, die nur bei den sechs Grundfarben eine Summe von 100 % ergeben. Dieses Modell geht präziser auf das Gamut-Problem ein, ist aber kein Farbraum.

Die Varianten als Doppelkegel, Doppelpyramide, oder Kugel ergeben sich für die unten beschriebenen HSL-, HSI- und HSB-Modelle.

Aufgrund der vielfältigen Darstellungsformen sind die HSV-Werte (die skalaren Farbzahlen) für denselben Farbort unterschiedlich und es muss zusätzlich das benutzte Modell angegeben sein. Dadurch sind die HSV-Modelle besonders für die direkte Auswahl oder Anzeige von Farben hilfreich, farbmetrisch sind sie ungünstig.

Bei Auswahl und Festlegung an Geräten erfolgt eine geräteinterne, softwaregenerierte Umrechnung von HSV in Lab-Koordinaten, die dann auf andere Farbmodelle transferierbar sind.

Farbwähler für den HSV-Raum[Bearbeiten]

Ein HSV-Farbwähler

Eine Darstellung des Farbraums durch das HSV-Modell ist für Farbwähler im Computerwesen üblich. Um eine bestimmte Farbe mit Hilfe ihrer HSV-Parameter auszuwählen und die Werte zu bestimmen, benutzt man in einem getrennten Diagramm den HSV-Farbkreis aus dem der Farbton H direkt ausgewählt wird. Danach werden die beiden anderen Parameter S und V gewählt. Dies kann auf einem Dreieck erfolgen, in welchem die Sättigung S auf einer Dreiecksseite und die Helligkeit V auf deren Mittelsenkrechten abgetragen ist. Eine Variante ist ein im Inneren des Farbkreises liegendes SV-Dreieck, dessen Spitze auf den Farbton H im Farbkreis zeigt. Die Dreiecksseite der Sättigung S endet dabei in dieser Spitze. Darüber hinaus sind auch Varianten mit feststehender senkrechter Achse für S üblich.

Ein Programm, das einen solchen Farbwähler verwendet, bestimmt jeweils den zum Farbton H passenden Schnitt durch den Farbkörper und stellt ihn im Dreieck dar. Der Schnitt ist dabei ein senkrecht stehender, radialer Schnitt entlang der Weiß-Schwarz-Achse.

Eine weitere Variante des Farbwählers auf Basis des HSV-Modells stellt eine HV-Ebene dar, neben der ein separater S-Regler zur Verfügung steht. Zur Unterstützung der Farbauswahl durch den Benutzer wird dabei die Sättigung der in der HV-Ebene dargestellten Farbtöne an den jeweiligen Wert des S-Reglers angepasst, sobald dieser verändert wird. Diese Darstellung entspricht einem waagerechten Schnitt durch den Farbraum.

Transformation von RGB und HSV/HSL[Bearbeiten]

Illustration der Zusammenhänge zwischen HSV- und RGB-Raum
Gegenüberstellung von HSV und RGB
Farbe H S V R G B
Schwarz 0 % 0 % 0 % 0 %
Rot 100 % 100 % 100 % 0 % 0 %
Gelb 60° 100 % 100 % 100 % 100 % 0 %
Braun 24,3° 75 % 36,1 % 36 % 20 % 9 %
Weiß 0 % 100 % 100 % 100 % 100 %
Grün 120° 100 % 100 % 0 % 100 % 0 %
Dunkelgrün 120° 100 % 50 % 0 % 50 % 0 %
Cyan 180° 100 % 100 % 0 % 100 % 100 %
Blau 240° 100 % 100 % 0 % 0 % 100 %
Magenta 300° 100 % 100 % 100 % 0 % 100 %

Die Umrechnung folgt dem Formelsatz von Gonzalez und Woods.[1][2]

  • (R, G, B): Farbwerte nach RGB. R, G, und B liegen dazu im Intervall [0,1].
  • (H, S, V): Zugehörige HSV-Farbe. H liegt im halboffenen Intervall [0°,360°), um Eindeutigkeit zu gewährleisten, S und V wiederum im Intervall [0,100 %] bzw. [0,1].

Diese Intervalle gelten für das hier vorgestellte Modell. Andere Formelsätze[3] mit selbem Ergebnis geben Foley und Van Dam[4][5] oder Travis.[6][5]

  • Üblich sind auch farbmetrische Angaben von H, S und V normiert auf [0,1], die dadurch denen des RGB-Modells gleichen. Der unten angegebene Formelsatz wäre dann entsprechend einfacher.
  • Des Weiteren sind Werte in Intervallen [0,255], hexadezimal als [0,FF] gebräuchlich, die für 8-Bit-Angaben geeignet sind (diskretes Modell). Für die angegebenen Formeln sind solche Werte auf die hier benutzten Intervalle zu normieren. Außerdem ist zu beachten, ob der Körper für das zugrunde gelegte Modell ein Würfel, eine Kugel, ein Kegel oder Doppelkegel ist.

Umrechnung RGB in HSV/HSL[Bearbeiten]

Vorbedingung: R, G, B \in [0,1]
MAX := \max (R,G,B), \; MIN := \min (R,G,B)

   H := \begin{cases}
    0, & \text{falls}\; MAX = MIN \Leftrightarrow R = G = B \\
    60^\circ \cdot \left( 0 + \frac {G - B} {MAX - MIN} \right), & \text{falls}\; MAX = R \\
    60^\circ \cdot \left( 2 + \frac {B - R} {MAX - MIN} \right), & \text{falls}\; MAX = G \\
    60^\circ \cdot \left( 4 + \frac {R - G} {MAX - MIN} \right), & \text{falls}\; MAX = B
   \end{cases}

\text{falls}\;H < 0^\circ\; \text{dann}\;H := H + 360^\circ

S_{\mathrm{HSV}} := \begin{cases}
    0, & \text{falls}\; MAX = 0 \Leftrightarrow R = G = B = 0\\
    \frac {MAX - MIN} {MAX}, & \text{sonst}
   \end{cases}

S_{\mathrm{HSL}} := \begin{cases}
    0, & \text{falls}\; MAX = 0 \Leftrightarrow R = G = B = 0\\
    0, & \text{falls}\; MIN = 1 \Leftrightarrow R = G = B = 1\\
    \frac {MAX - MIN} {1 - \left\vert MAX + MIN - 1 \right\vert}, & \text{sonst}
\end{cases}
V:= MAX
L := \frac {MAX + MIN}{2}
Nachbedingung: H \in [0^\circ,360^\circ], \; S, V, L \in [0,1]

Diese Formeln spiegeln einige Eigenheiten der HSV-Werte wider:

  • Wenn R = G = B, dann ist H ohne Bedeutung, und wird per Definition H = 0 gesetzt.
    Das ist offensichtlich. Denn wenn S = 0 ist (ungesättigte Farbe), dann liegt der Farbort auf der zentralen Grau-Linie, der Farbton ist so ohne Bedeutung und kann nicht sinnvoll angegeben werden.
  • Wenn R = G = B = 0, dann ist S ohne Bedeutung, und per Definition wird S = 0 gesetzt.
    Denn wenn alle drei RGB-Werte „Null“ sind, geht es um Schwarz und die Sättigung der Farbe verliert ihre Bedeutung. Dasselbe gilt auch im Falle MAX = MIN = 1, d.h. Weiß, hier liefert die Formel formal 0.

Undefinierte Werte werden aus rechentechnischen Gründen mit „Null“ besetzt.

Umrechnung HSV in RGB[Bearbeiten]

Vorbedingung: H \in [0^\circ,360^\circ], \; S, V \in [0,1]

Es werden das Grundfarbenintervall hi, der Wert innerhalb dieses Intervalls f in [0,1] und noch drei Hilfswerte bestimmt, die bereits die jeweiligen Streckenlängen enthalten, aber entsprechend auf die Komponenten R, G und B zu verteilen sind:

h_\mathrm{i} := \left \lfloor { H \over 60^\circ } \right \rfloor;\;\;\;f := \left(\frac{H}{60^\circ} - h_\mathrm{i}\right)
p := V \cdot (1 - S);\quad q := V \cdot (1 - S \cdot f );\quad t := V \cdot \left( 1 - S \cdot (1 - f) \right)
(R,G,B) :=
    \begin{cases}
        (V,t,p), & \text{falls } h_\mathrm{i} \in \{0,6\} \\
        (q,V,p), & \text{falls } h_\mathrm{i} = 1 \\
        (p,V,t), & \text{falls } h_\mathrm{i} = 2 \\
        (p,q,V), & \text{falls } h_\mathrm{i} = 3 \\
        (t,p,V), & \text{falls } h_\mathrm{i} = 4 \\
        (V,p,q), & \text{falls } h_\mathrm{i} = 5
    \end{cases}
Nachbedingung: R, G, B \in [0,1]

Ist S = 0, dann ist die resultierende Farbe Neutralgrau, und die Formel vereinfacht sich zu R = G = B = V.

Abgewandelte Farbmodelle HSL, HSB, HSI[Bearbeiten]

Der HSL-Farbraum (auch als HLS bezeichnet) hat die Parameter Farbwinkel H, Farbsättigung S und Farbhelligkeit L. Im Gegensatz zum HSV-Farbraum wird er jedoch auf den zwischen Weiß und Schwarz liegenden Graupunkt als neutrales Grau bezogen. Der Farbkörper wird als Doppelkegel, Zylinder oder sechsseitiges Prisma dargestellt. Die Buntwerte liegen außen und der Graupunkt in der Mitte. Ähnlich aufgebaut ist das CIE-LCh°-Modell mit Farbhelligkeit L, Buntheit C und dem Bunttonwinkel h°, womit er gewissermaßen einem in Zylinderkoordinaten dargestellten Lab-Farbraum entspricht.

An den Bedürfnissen der Farbmetrik und der phototechnischen Reproduktion orientiert ist das HSB- und das HSI-Modell. Auch hierbei steht H für Buntwert (hue) und S für Sättigung. Der Unterschied bezieht sich auf die dritte Koordinate: einerseits HSB mit der Strahlungsgröße der Helligkeit, der absoluten Helligkeit B, anderseits als HSI-Farbmodell mit der Lichtintensität I.

Teilweise sind andere Zuordnungen des Farbwinkels zum Farbkreis üblich, die sich dann in der Position des Nullpunktes auf der Buntwertskala unterscheiden. Umrechnungen für diese abgewandelten HSV-Räume finden sich bei Gonzalez und Woods[1] [7] oder Foley und Van Dam.[4][8]

Weblinks[Bearbeiten]

 Commons: HSV – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise[Bearbeiten]

  1. a b Rafael Gonzalez, Richard E. Woods: Digital Image Processing. Prentice Hall Press. 2002, ISBN 0-201-18075-8, S. 295.
  2. nach HSV color space – Englische Wikipedia, der Formelsatz ist hier etwas anders angegeben
  3. Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatVorlage:Internetquelle/Wartung/Datum nicht im ISO-FormatAdrian Ford, Alan Roberts: Colour Space Conversions. In: The Colour (color) Equations Document. 1994–1996, abgerufen am 30. August 2006.
  4. a b James D. Foley, Andries van Dam, Steven K. Feiner, John F. Hughes: Computer Graphics: Principles and Practice in C. Addison-Wesley, München 1990.
  5. a b Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatVorlage:Internetquelle/Wartung/Datum nicht im ISO-FormatAdrian Ford, Alan Roberts: HSV: Hue Saturation Value. In: The Colour (color) Equations Document. 1994–1996, abgerufen am 30. August 2006.
  6. D. Travis: Effective Color Displays. Theory and Practice. Academic Press, 1991, ISBN 0-12-697690-2.
  7. Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatVorlage:Internetquelle/Wartung/Datum nicht im ISO-FormatAdrian Ford, Alan Roberts: HSI: Hue Saturation Intensity. In: The Colour (color) Equations Document. 1994–1996, abgerufen am 30. August 2006.
  8. Vorlage:Internetquelle/Wartung/Zugriffsdatum nicht im ISO-FormatVorlage:Internetquelle/Wartung/Datum nicht im ISO-FormatAdrian Ford, Alan Roberts: HSL: Hue Saturation Lightness. In: The Colour (color) Equations Document. 1994–1996, abgerufen am 30. August 2006.
Farb-Check-RGB.png

Die in diesem Artikel angezeigten Farben sind nicht farbverbindlich und können auf verschiedenen Monitoren unterschiedlich erscheinen.
Eine Möglichkeit, die Darstellung mit rein visuellen Mitteln näherungsweise zu kalibrieren, bietet das nebenstehende Testbild (nur wenn die Seite nicht gezoomt dargestellt wird): Tritt auf einer oder mehreren der drei grauen Flächen ein Buchstabe („R“ für Rot, „G“ für Grün oder „B“ für Blau) stark hervor, sollte die Gammakorrektur des korrespondierenden Monitor-Farbkanals korrigiert werden. Das Bild ist auf einen Gammawert von 2,2 eingestellt – den gebräuchlichen Wert für IBM-kompatible Computer. Apple-Macintosh-Rechner hingegen verwenden bis einschließlich System 10.5 („Leopard“) standardmäßig einen Gammawert von 1,8, seit dem System 10.6 („Snow Leopard“) kommt Gamma 2,2 zum Einsatz.