HSV-Farbraum
Der HSV-Farbraum ist der Farbraum etlicher Farbmodelle, bei denen man die Farbe mit Hilfe des Farbtons (englisch hue), der Farbsättigung (saturation) und des Hellwerts (bzw. 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
Für die Beschreibung des Farbortes in diesem Farbraum werden folgende Parameter benutzt:
- Farbton als Farbwinkel H auf dem Farbkreis (z. B. 0° = Rot, 120° = Grün, 240° = Blau)
- Sättigung S in Prozent (0 % = Neutralgrau, 50 % = wenig gesättigte Farbe, 100 % = gesättigte, reine Farbe) bzw. in einem Intervall von Null bis Eins
- Hellwert V als Prozentwert (0 % = keine Helligkeit, 100 % = volle Helligkeit) bzw. in einem Intervall von Null bis Eins, auch Dunkelstufe genannt.
HSV-Raum und Farbwahrnehmung
In Fragen der Farbnachstellung wird das HSV-Paradigma gegenüber den Alternativen RGB und CMYK bevorzugt, weil es der menschlichen Farbwahrnehmung ähnelt. So fällt 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 eine 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.
- 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 Buntton die gleiche Sättigung haben können. In diesem System wird also Weiß wie eine Buntfarbe behandelt. In der Praxis ist die Umwandlung eines Farbbildes in ein Schwarzweiß-Bild durch Ändern nur einer Koordinate nicht möglich.
Visualisierung des HSV-Modells
Modelle des Farbraumes
- Eine Methode um die HSV-Parameter anschaulich zu machen ist der Kegel, damit die Helligkeit von unten nach oben zunimmt, auf der Spitze stehend.
- Andere Darstellungen benutzen einen Zylinder
- 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 für denselben Farbort in Zahlen sehr verschieden. Deshalb muss jeweils 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
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 derer Mittelsenkrechten abgetragen werden. Eine Variante davon 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
Farbe | H | S | V | R | G | B |
---|---|---|---|---|---|---|
Schwarz | – | – | 0 % | 0 % | 0 % | 0 % |
Weiß | – | 0 % | 100 % | 100 % | 100 % | 100 % |
Rot | 0° | 100 % | 100 % | 100 % | 0 % | 0 % |
Schokobraun | 24.3° | 75 % | 36.1 % | 36 % | 20 % | 9 % |
Gelb | 60° | 100 % | 100 % | 100 % | 100 % | 0 % |
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 % |
Rot | 0° | 100 % | 100 % | 100 % | 0 % | 0 % |
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 etwa 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 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 somit 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
- Vorbedingung: $ R,G,B\in [0,1] $
- $ MAX:=\mathrm {max} (R,G,B),\;MIN:=\mathrm {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\\{\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 per Definition wird 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
- 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
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 Bunttöne 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 stehen H für Buntton (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 Bunttonskala 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
Einzelnachweise
- ↑ 1,0 1,1 Rafael Gonzalez, Richard E. Woods: Digital Image Processing. Prentice Hall Press. 2002, ISBN 0-201-18075-8, S. 295.
- ↑ nach HSV color space − Englische Wikipedia, der Formelsatz ist hier etwas anders angegeben
- ↑ Adrian Ford, Alan Roberts: Colour Space Conversions. In: The Colour (color) Equations Document. 1994, abgerufen am 30. August 2006.
- ↑ 4,0 4,1 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,0 5,1 Adrian Ford, Alan Roberts: HSV: Hue Saturation Value. In: The Colour (color) Equations Document. 1994, abgerufen am 30. August 2006.
- ↑ D. Travis: Effective Color Displays. Theory and Practice. Academic Press, 1991, ISBN 0-12-697690-2.
- ↑ Adrian Ford, Alan Roberts: HSI: Hue Saturation Intensity. In: The Colour (color) Equations Document. 1994, abgerufen am 30. August 2006.
- ↑ Adrian Ford, Alan Roberts: HSL: Hue Saturation Lightness. In: The Colour (color) Equations Document. 1994, abgerufen am 30. August 2006.
Die in diesem Artikel verwendeten Farben werden auf jedem Monitor anders dargestellt und sind nicht farbverbindlich. Eine Möglichkeit, die Darstellung mit rein visuellen Mitteln näherungsweise zu kalibrieren, bietet das nebenstehende Testbild: 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.