Zum Inhalt springen

„HSV-Farbraum“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[ungesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
K revert wegen vandalismus in einer formel
Man kann RGB -> HSV -> RGB verlustfrei (bis auf Rundungsfehler) umrechnen, was soll die Aussage?
 
(384 dazwischenliegende Versionen von mehr als 100 Benutzern, die nicht angezeigt werden)
Zeile 1: Zeile 1:
[[Datei:HSV cone.png|mini|Farbwert ''H'', Sättigung ''S'', Dunkelstufe ''V'']]<!--ACHTUNG, auf Commons sind dieses PNG und das untenstehende gleichnamige JPG nicht identisch -->
Die Abkürzungen '''HSV''' oder '''HSB''' stehen für das [[Farbmodell]], bei dem man die [[Farbe]] mit Hilfe des Farbtons ('''''H'''ue''), der Sättigung ('''''S'''aturation'') und der Helligkeit ('''''V'''alue'', '''''B'''rightness'') definiert.
[[Datei:HueScale.svg|mini|Farbtonskala]]
Der '''HSV-Farbraum''' ist der [[Farbraum]] etlicher [[Farbmodell]]e. Der Farbraum wurde 1978 von A. R. Smith veröffentlicht.<ref>{{Internetquelle |werk=alvyray.com|format =pdf |url=http://alvyray.com/Papers/CG/color78.pdf |titel=Color Gamut Transform Pairs |datum=1978 |sprache=en |abruf=2023-11-01}}</ref>


In HSV ist der Farbort einer [[Farbe]] definiert mit Hilfe der drei Koordinaten:
[[Bild:HSV_sample.png|frame|Der HSV-Farbkreis]]
* [[Farbwert]] ([[Englische Sprache|englisch]] '''''h'''ue''): Farbwinkel auf dem [[Farbkreis]] (0° für Rot, 120° für Grün, 240° für Blau)
* [[Farbsättigung]] ('''''s'''aturation''): (0%&nbsp;=&nbsp;[[Neutralgrau]], 50%&nbsp;=&nbsp;wenig gesättigte Farbe, 100%&nbsp;=&nbsp;gesättigte, [[reine Farbe]])
* Hellwert ([[Helligkeit (Farbe)|Helligkeit]]) ('''''v'''alue''; auch Dunkelstufe genannt): (0%&nbsp;=&nbsp;keine Helligkeit, 100%&nbsp;=&nbsp;volle Helligkeit)


Ähnliche Definitionen führen zu
Dabei wird
* einem '''[[HSL-Farbraum]]''' mit der relativen [[Helligkeit]] ''('''l'''ightness)'' statt des Hellwertes
*der [[Farbton]] als Winkel auf dem [[Farbkreis]] angegeben (z. B. 0° = Rot, 120° = Grün, 240° = Blau),
* einem '''[[HSB-Farbraum]]''' mit der absoluten Helligkeit ''('''b'''rightness)''
*die [[Sättigung (Farbe)|Sättigung]] als Prozentwert angegeben (z. B. 0% = keine Farbe, 50% = ungesättigte Farbe, 100% = gesättigte Farbe),
* einem '''[[HSI-Farbraum]]''' mit der [[Lichtintensität]] ''('''i'''ntensity)''.
*die [[Helligkeit]] als Prozentwert angegeben. (z. B. 0% = keine Helligkeit, 100% = volle Helligkeit).


== HSV-Raum und Farbwahrnehmung ==
Der HSV-Farbraum ähnelt dem [[HSL-Farbraum]] (auch HLS oder HSI genannt) und wird mit diesem gelegentlich verwechselt.
[[Datei:navyblue hsv cylinder.svg|mini|Die HSV-Koordinaten am Beispiel Navyblau]]
In Fragen der [[Farbnachstellung]] wird das HSV-Modell gegenüber den Alternativen [[RGB-Farbraum|RGB]] und [[CMYK-Farbmodell|CMYK]] bevorzugt, weil es der menschlichen [[Farbwahrnehmung]] stärker entspricht (beispielsweise ist es im RGB-Modell schwer, sich Gelb als Mischung von Rot und Grün vorzustellen). Für die [[Farbmischung]] kann man unmittelbar den gewünschten Farbton wählen und dann entscheiden, wie ''gesättigt'' und wie ''hell (oder dunkel)'' dieser sein soll, oder ob eine andere [[Farbstich|Farbnuance]] passender ist:
* Der Farbwinkel spezifiziert die [[CIE-Normvalenzsystem|dominante Wellenlänge]] der Farbe, mit Ausnahme des Bereiches zwischen [[Blauviolett]] und [[Rot]] (240° und 360°), wo er eine Position auf der [[Purpurlinie]] angibt.
* Die Sättigung entspricht der Zumischung von purem [[Weiß]] (d.&nbsp;h. Licht mit gleichen Intensitäten in allen Wellenlängen) zu einer simulierten [[Spektralfarbe]] (oder vielmehr der entsprechenden Spaltbreite um die dominante Wellenlänge herum); dabei entspricht ''stärkere'' Weiß-Zumischung einer ''geringeren'' Sättigung.
* Die Helligkeit ist ein Parameter für den Gesamt[[energie]]<nowiki/>inhalt bzw. für 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.
CMYK hingegen ist eine Wahlmethode, die an die vorhandenen (geräteabhängigen) [[Grundfarbe]]n gebunden ist, sodass weniger die freie Wahl, sondern das Farbergebnis im Vordergrund steht.


Die HSV-Koordinaten einer [[Körperfarbe]]&nbsp;– die notwendigerweise eine [[Mischfarbe]] ist&nbsp;– sind nicht unmittelbar aus den Parametern ihres physikalischen [[Lichtspektrum]]s zu bestimmen, wie dies in der [[Radiometrie]] mit den [[Spektralwertkurve]]n möglich ist. Dagegen wird aus den HSV-Koordinaten mittels geeigneter [[Farbmetrik|farbmetrischer]] Formelsätze auf die Parameter des Spektrums wie [[Wellenlänge]] und [[Amplitude]] rückgeschlossen. Begrenzend wirkt hier allerdings die [[Metamerie (Farblehre)|Metamerie]], da es nicht ohne Probleme möglich ist, aus drei Koordinaten die Vielheit eines Spektrums zu ermitteln; dies ist allerdings kein großes Problem, da das HSV-System meist auch nicht angewendet wird, um die Eigenschaften eines Spektrums zu ermitteln, sondern um Farben auszuwählen.
== Visualisierung des HSV-Modells ==
[[Bild:HSV_cone.jpg|thumb|300px|HSV-Farbraum als Kegel]]
[[Bild:HSV_cylinder.jpg|thumb|300px|HSV-Farbraum als Zylinder]]
Die Darstellung des Farbraums durch das HSV-Modell wird üblicherweise in Computerprogrammen verwendet.
Um eine bestimmte Farbe mit Hilfe ihrer HSV-Parameter auszuwählen bzw. auszudrücken, benutzt man den HSV-Farbkreis.
Der Farbton (Hue) wird direkt vom Farbkreis ausgewählt, dann werden – meist von einem Dreieck, wobei die waagerechte
Achse die Sättigung und die senkrechte die Helligkeit widerspiegelt – die beiden anderen Parameter gewählt.


== Visualisierung ==
Eine andere Methode der Veranschaulichung der HSV-Parameter ist der Kegel, ein dreidimensionaler Körper.
=== Modelle ===
Andere Darstellungen benutzen stattdessen eine hexagonale [[Pyramide (Geometrie)|Pyramide]]. Und schließlich kann der HSV-Farbraum auch mittels eines Zylinders dargestellt werden.
{| class="float-right"
|- style="vertical-align:top"
| [[Datei:HSV cone.jpg|mini|HSV-Farbraum als Kegel]]<!--ACHTUNG, auf Commons sind dieses JPG und das obenstehende gleichnamige PNG nicht identisch -->
| [[Datei:HSV cylinder.jpg|mini|HSV-Farbraum als Zylinder]]
|}
[[Farbmodell]]e, die die HSV-Parameter anschaulich darstellen, sind:
* der auf der Spitze stehende HSV-[[Kegel (Geometrie)|Kegel]], bei dem die Helligkeit von oben (Farbkreis) nach unten (Spitze = Schwarz) abnimmt.
* ein [[Zylinder (Geometrie)|Zylinder]], bei dem die Helligkeit zu einer Fläche (anstatt zu einem Punkt) abnimmt.
* eine [[Halbkugel]], das [[farbmetrisch]] korrekte Modell.<!-- Begründung?-->
* eine [[Pyramide (Geometrie) #Tabelle|Pyramide]] mit sechseckigem Grundriss, die präziser auf das [[Gamut]]-Problem eingeht. Allerdings sind die S-Werte nicht direkt ablesbar, oder sie ergeben nur bei den sechs [[Grundfarbe]]n eine Summe von&nbsp;100%. Die hexagonale Pyramide ist kein Farbraum.


Für die unten beschriebenen HSL-, HSI- und HSB-Modelle ergeben sich Varianten als Doppelkegel, [[Doppelpyramide]] oder [[Kugel]].
== Der HSV und Farbwahrnehmung ==
Künstler bevorzugen oft das HSV-Parameter gegenüber den Alternativen [[RGB-Farbraum|RGB]] und [[CMYK]], weil es der menschlichen Art, Farben wahrzunehmen, ähnelt und es ihnen so leichter fällt, die jeweils gewünschte Farbe zu komponieren. RGB und CMYK sind ''additive'' bzw. ''subtraktive'' Methoden, um eine Farbe zu komponieren, während die HSV-Parameter einer zu komponierenden Farbe viel eher nachempfunden werden können: ''Man wählt sofort die Farbe'' und entscheidet dann, wie ''gesättigt'' und wie ''hell oder dunkel'' diese sein soll.


Aufgrund der vielfältigen Darstellungsformen weichen die HSV-Werte für denselben [[Farbort]] teilweise ab, wodurch die Angabe des genutzten Modells unabdingbar wird. Das macht die HSV-Modelle zwar für die Auswahl und Darstellung von Farben hilfreich, in Bezug auf [[Farbmetrik]] können jedoch Komplikationen auftreten.
Leider ist es nicht ohne weiteres möglich, die HSV-Koordinaten einer Farbe in die Parameter ihres physikalischen
Spektrums, wie sie z. B. in der [[Radiometrie]] gemessen werden, umzuwandeln. Aber obwohl es nicht ratsam ist,
HSV-Koordinaten direkt mit Parametern wie Wellenlänge und Amplitude zu vergleichen, ''kann'' man diese durchaus in ''pseudo-physikalische'' Eigenschaften umdeuten, mit Hilfe der [[Farbmessung]].


Mit Angabe des verwendeten Modells können HSV-Werte in [[Lab-Farbraum|Lab-Koordinaten]] umgerechnet werden, die dann auf andere Farbmodelle transferierbar sind.
*Der ''Farbton'' spezifiziert die dominante Wellenlänge der Farbe, mit Ausnahme des Bereiches zwischen Indigo und Rot (240° und 360°), wo der ''Farbton'' eine Position auf der so genannten „[[Purpurlinie]]“ angibt.
*Ist der ''Farbton'' die [[Farbe#Spektralfarben und Mischfarben|monochromatische, pure Spektralfarbe]], so entspricht die ''Sättigung'' etwa der Verteilung der Frequenzen um die dominate Wellenlänge herum oder alternativ einer Zumischung von purem Weiß (das heißt Licht mit gleichen Anteilen aller Wellenlängen).
*Die ''Helligkeit'' entspricht in etwa dem Gesamtenergieinhalt, beziehungsweise der maximalen [[Amplitude]] des Lichts. Aus den unten angegebenen Formeln kann man entnehmen, dass die ''Helligkeit'' eigentlich die Amplitude der dominanten Wellenlänge angibt.


=== Farbwähler ===
== Transformation von RGB in HSV ==
[[Datei:Triangulo HSV.png|mini|Ein HSV-Farbwähler]]
Für [[Farbwähler]] in der Informatik ist eine Darstellung des Farbraums durch das HSV-Modell ü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&nbsp;''H'' direkt ausgewählt wird. Danach werden die beiden anderen Parameter&nbsp;''S'' und&nbsp;''V'' gewählt. Dies kann auf einem Dreieck erfolgen, in welchem die Sättigung auf einer Dreiecksseite und auf deren [[Mittelsenkrechte]]n die Helligkeit abgetragen ist. Eine Variante ist ein im Inneren des Farbkreises liegendes ''SV''-Dreieck, dessen Spitze auf den Farbton im Farbkreis zeigt, die Dreiecksseite der Sättigung endet dabei in dieser Spitze. Darüber hinaus sind auch Varianten mit feststehender senkrechter Achse für&nbsp;''S'' üblich. Ein Programm, das einen solchen Farbwähler verwendet, bestimmt jeweils den zum Farbton&nbsp;''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 kegelförmigen bzw. zylindrischen Schnitt durch den Farbraum, wobei die jeweilige Sättigung dem Radius des Schnitts gegenüber der Weiß-Schwarz-Achse entspricht.<!-- Die alte Aussage, die an dieser Stelle stand, ist offensichtlich falsch: ein waagerechter Schnitt durch den HSV-Farbraum beinhaltet variable H- und S-Werte, aber einen fixen V-Wert. -->
Hat man die (''R'', ''G'', ''B'')-Werte einer Farbe, wobei ''R'', ''G'', und ''B'' Werte im [[Intervall (Mathematik)|Intervall]] [0 , 1] annehmen
können, können die (''H'', ''S'', ''V'') Werte errechnet werden:


== Transformation von HSV/HSL und RGB ==
<math>MAX = max(R,G,B)</math>
[[Datei:HSV-RGB-comparison.svg|mini|Zusammenhänge zwischen HSV- und RGB-Raum]]
{| class="wikitable sortable" style="text-align:center"
|+ Gegenüberstellung von HSV/HSL und RGB
|- class="hintergrundfarbe6"
! Farbe
! data-sort-type="number" | H !! S !! V !! style="border-left:medium solid" | H !! S !! L !! style="border-left:medium solid" | R !! G !! B
|-
| {{Coltit|FF0000}} Rot
| 0° || 100 % || 100 % || style="border-left:medium solid" | 0° || 100 % || 50 % || style="border-left:medium solid" | 100 % || 0 % || 0 %
|-
| {{Coltit|FF4000|3}} Orangerot
| 15° || 100 % || 100 % || style="border-left:medium solid" | 15° || 100 % || 50 % || style="border-left:medium solid" | 100 % || 25 % || 0 %
|-
| {{Coltit|FF7F00|3}} Orange
| 30° || 100 % || 100 % || style="border-left:medium solid" | 30° || 100 % || 50 % || style="border-left:medium solid" | 100 % || 50 % || 0 %
|-
| {{Coltit|FFC000|3}} Orangegelb
| 45° || 100 % || 100 % || style="border-left:medium solid" | 45° || 100 % || 50 % || style="border-left:medium solid" | 100 % || 75 % || 0 %
|-
| {{Coltit|FFFF00}} Gelb
| 60° || 100 % || 100 % || style="border-left:medium solid" | 60° || 100 % || 50 % || style="border-left:medium solid" | 100 % || 100 % || 0 %
|-
| {{Coltit|C0FF00|3}} Grüngelb
| 75° || 100 % || 100 % || style="border-left:medium solid" | 75° || 100 % || 50 % || style="border-left:medium solid" | 75 % || 100 % || 0 %
|-
| {{Coltit|80FF00|3}} Grasgrün
| 90° || 100 % || 100 % || style="border-left:medium solid" | 90° || 100 % || 50 % || style="border-left:medium solid" | 50 % || 100 % || 0 %
|-
| {{Coltit|40FF00|3}} Gelbgrün
| 105° || 100 % || 100 % || style="border-left:medium solid" | 105° || 100 % || 50 % || style="border-left:medium solid" | 25 % || 100 % || 0 %
|-
| {{Coltit|00FF00}} Hellgrün
| 120° || 100 % || 100 % || style="border-left:medium solid" | 120° || 100 % || 50 % || style="border-left:medium solid" | 0 % || 100 % || 0 %
|-
| {{Coltit|00FF3F|3}} Leichtes Blaugrün
| 135° || 100 % || 100 % || style="border-left:medium solid" | 135° || 100 % || 50 % || style="border-left:medium solid" | 0 % || 100 % || 25 %
|-
| {{Coltit|00FF80|3}} Frühlingsgrün
| 150° || 100 % || 100 % || style="border-left:medium solid" | 150° || 100 % || 50 % || style="border-left:medium solid" | 0 % || 100 % || 50 %
|-
| {{Coltit|00FFBF|3}} Grüncyan
| 165° || 100 % || 100 % || style="border-left:medium solid" | 165° || 100 % || 50 % || style="border-left:medium solid" | 0 % || 100 % || 75 %
|-
| {{Coltit|00FFFF|3}} Cyan
| 180° || 100 % || 100 % || style="border-left:medium solid" | 180° || 100 % || 50 % || style="border-left:medium solid" | 0 % || 100 % || 100 %
|-
| {{Coltit|00BFFF|w}} Blaucyan
| 195° || 100 % || 100 % || style="border-left:medium solid" | 195° || 100 % || 50 % || style="border-left:medium solid" | 0 % || 75 % || 100 %
|-
| {{Coltit|007FFF|w}} Grünblau
| 210° || 100 % || 100 % || style="border-left:medium solid" | 210° || 100 % || 50 % || style="border-left:medium solid" | 0 % || 50 % || 100 %
|-
| {{Coltit|003FFF|w}} Leichtes Grünblau
| 225° || 100 % || 100 % || style="border-left:medium solid" | 225° || 100 % || 50 % || style="border-left:medium solid" | 0 % || 25 % || 100 %
|-
| {{Coltit|0000FF|w}} Blau
| 240° || 100 % || 100 % || style="border-left:medium solid" | 240° || 100 % || 50 % || style="border-left:medium solid" | 0 % || 0 % || 100 %
|-
| {{Coltit|3F00FF|w}} Indigo
| 255° || 100 % || 100 % || style="border-left:medium solid" | 255° || 100 % || 50 % || style="border-left:medium solid" | 25 % || 0 % || 100 %
|-
| {{Coltit|7F00FF|w}} Violett
| 270° || 100 % || 100 % || style="border-left:medium solid" | 270° || 100 % || 50 % || style="border-left:medium solid" | 50 % || 0 % || 100 %
|-
| {{Coltit|BF00FF|w}} Blaumagenta
| 285° || 100 % || 100 % || style="border-left:medium solid" | 285° || 100 % || 50 % || style="border-left:medium solid" | 75 % || 0 % || 100 %
|-
| {{Coltit|FF00FF|w}} Magenta
| 300° || 100 % || 100 % || style="border-left:medium solid" | 300° || 100 % || 50 % || style="border-left:medium solid" | 100 % || 0 % || 100 %
|-
| {{Coltit|FF00BF|w}} Rotmagenta
| 315° || 100 % || 100 % || style="border-left:medium solid" | 315° || 100 % || 50 % || style="border-left:medium solid" | 100 % || 0 % || 75 %
|-
| {{Coltit|FF007F|w}} Blaurot
| 330° || 100 % || 100 % || style="border-left:medium solid" | 330° || 100 % || 50 % || style="border-left:medium solid" | 100 % || 0 % || 50 %
|-
| {{Coltit|FF003F|w}} Leichtes Blaurot
| 345° || 100 % || 100 % || style="border-left:medium solid" | 345° || 100 % || 50 % || style="border-left:medium solid" | 100 % || 0 % || 25 %
|-
| {{Coltit|800000|w}} Kastanie
| 0° || 100 % || 50 % || style="border-left:medium solid" | 0° || 100 % || 25 % || style="border-left:medium solid" | 50 % || 0 % || 0 %
|-
| {{Coltit|808000|w}} Oliv
| 60° || 100 % || 50 % || style="border-left:medium solid" | 60° || 100 % || 25 % || style="border-left:medium solid" | 50 % || 50 % || 0 %
|-
| {{Coltit|008000|w}} Grün
| 120° || 100 % || 50 % || style="border-left:medium solid" | 120° || 100 % || 25 % || style="border-left:medium solid" | 0 % || 50 % || 0 %
|-
| {{Coltit|008080|w}} Blaugrün
| 180° || 100 % || 50 % || style="border-left:medium solid" | 180° || 100 % || 25 % || style="border-left:medium solid" | 0 % || 50 % || 50 %
|-
| {{Coltit|000080|w}} Marineblau
| 240° || 100 % || 50 % || style="border-left:medium solid" | 240° || 100 % || 25 % || style="border-left:medium solid" | 0 % || 0 % || 50 %
|-
| {{Coltit|800080|w}} Purpur
| 300° || 100 % || 50 % || style="border-left:medium solid" | 300° || 100 % || 25 % || style="border-left:medium solid" | 50 % || 0 % || 50 %
|-
| {{Coltit|FFFFFF}} Weiß
| 0° || 0 % || 100 % || style="border-left:medium solid" | 0° || 0 % || 100 % || style="border-left:medium solid" | 100 % || 100 % || 100 %
|-
| {{Coltit|808080|w}} Grau
| 0° || 0 % || 50 % || style="border-left:medium solid" | 0° || 0 % || 50 % || style="border-left:medium solid" | 50 % || 50 % || 50 %
|-
| {{Coltit|000000|w}} Schwarz
| 0° || 0 % || 0 % || style="border-left:medium solid" | 0° || 0 % || 0 % || style="border-left:medium solid" | 0 % || 0 % || 0 %
|-
|}


Die Umrechnung folgt dem Formelsatz von Gonzalez und Woods.<ref name="Gonzalez, Woods" /><ref name="WP-en" />
<math>MIN = min(R,G,B)</math>
* (''R'', ''G'', ''B''): Farbwerte nach RGB. ''R'', ''G'' und ''B'' liegen dazu im [[Intervall (Mathematik)|Intervall]] <math>[0,1]</math>.
* (''H'', ''S'', ''V''): Zugehörige HSV-Farbe. ''H'' liegt im halboffenen Intervall <math>[0^\circ,360^\circ)</math>, um Eindeutigkeit zu gewährleisten, ''S'' und ''V'' wiederum im Intervall <math>[0,100\,\%]</math> bzw. <math>[0,1]</math>.


Diese Intervalle gelten für das hier vorgestellte Modell. Andere Formelsätze<ref name="tu-muenchen" />
<math>H = \left\{
mit selbem Ergebnis geben Foley und Van Dam<ref name="Foley, VanDam" /><ref name="tu-muenchen HSV" /> oder Travis.<ref name="Travis" /><ref name="tu-muenchen HSV"/>
\begin{matrix}
* Üblich sind auch farbmetrische Angaben von ''H'', ''S'' und ''V'', normiert auf <math>[0,1]</math>, die dadurch denen des RGB-Modells gleichen. Der unten angegebene Formelsatz wäre dann entsprechend einfacher.
\left( 0 + \frac {G - B} {MAX - MIN} \right) \cdot 60, &
* Außerdem sind Werte in Intervallen <math>[0,255]</math> gebräuchlich ([[hexadezimal]] als <math>[0,FF]</math>, [[oktal]] als <math>[0,377]</math>), 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. Weiterhin ist zu beachten, ob der Körper für das zugrunde gelegte Modell ein Würfel, eine Kugel, ein Kegel oder ein Doppelkegel ist.
\mbox{if } R = MAX \\
\left( 2 + \frac {B - R} {MAX - MIN} \right) \cdot 60, &
\mbox{if } G = MAX \\
\left( 4 + \frac {R - G} {MAX - MIN} \right) \cdot 60, &
\mbox{if } B = MAX
\end{matrix}\right.
</math>


=== Umrechnung RGB in HSV/HSL ===
<!-- Es wird gebeten, nicht am Code zu schrauben, ohne den Artikel vorher sorgfältig zu lesen und auf der Diskussionsseite die Änderung vorzustellen -->
:Vorbedingung: <math>R, G, B \in [0,1]</math>


<math>if(H < 0) H=H+360</math>
:<math>\mathrm{MAX} := \max (R,G,B), \; \mathrm{MIN} := \min (R,G,B)</math>


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


:<math>
<math>S = \frac {MAX - MIN} {MAX}</math>
\text{falls}\;H < 0^\circ\; \text{dann}\;H := H + 360^\circ
</math>


:<math>
<math>V = \frac {MAX + MIN} 2</math>
S_{\mathrm{HSV}} := \begin{cases}
0, & \ \qquad\qquad\text{falls}\; \mathrm{MAX} = \mathrm{MIN} \Leftrightarrow R = G = B \\
\frac {\mathrm{MAX} - \mathrm{MIN}} {\mathrm{MAX}}, & \ \qquad\qquad\text{sonst}
\end{cases}
</math>


:<math>
Der resultierende Wert von ''H'' liegt im [[Intervall (Mathematik)|Intervall]] [0 , 360], ''S'' und ''V'' im [[Intervall (Mathematik)|Intervall]] [0 , 1].
S_{\mathrm{HSL}} := \begin{cases}
0, & \qquad\text{falls}\; \mathrm{MAX} = \mathrm{MIN} \Leftrightarrow R = G = B \\
\frac {\mathrm{MAX} - \mathrm{MIN}} {1 - \left\vert \mathrm{MAX} + \mathrm{MIN} - 1 \right\vert}, & \qquad\text{sonst}
\end{cases}
</math>


:<math>V:= \mathrm{MAX} </math>
Beachte, dass diese Formeln einige Eigenheiten der HSV-Werte widerspiegeln:


:<math>L := \frac {\mathrm{MAX} + \mathrm{MIN}}{2}</math>
'''Wenn ''MAX'' = ''MIN'' (''S'' = 0), dann ist ''H'' undefiniert.'''


:Nachbedingung: <math>H \in [0^\circ,360^\circ], \; S, V, L \in [0,1]</math>
Das ist offensichtlich, wenn man die Diagramme
<!-- sic -->
oben betrachtet. Denn wenn ''S'' = 0 ist, dann liegt die Farbe auf der zentralen Grau-Linie, sodass der Farbton selbstverständlich ohne Bedeutung ist.


Diese Formeln spiegeln einige Eigenheiten der HSV-Werte wider:
== Transformation von HSV in RGB ==
* Wenn ''R''&nbsp;=&nbsp;''G''&nbsp;=&nbsp;''B'', dann ist ''H'' ohne Bedeutung und es wird per Definition ''H''&nbsp;=&nbsp;0 gesetzt.
Hat man die (''H'', ''S'', ''V'')-Werte einer Farbe, wobei ''H'' Werte im [[Intervall (Mathematik)|Intervall]] [0, 360] und ''S'' und ''V'' Werte
*:Das ist offensichtlich. Denn wenn ''S''&nbsp;=&nbsp;0 ist (ungesättigte Farbe), dann liegt der Farbort auf der zentralen [[Grau]]-Linie (obige Kegelform), der Farbton ist so ohne Bedeutung und kann nicht sinnvoll angegeben werden.
im [[Intervall (Mathematik)|Intervall]] [0, 1] annehmen, kann man die entsprechenden (''R'', ''G'', ''B'')-Werte dieser Farbe berechnen.
* Wenn ''R''&nbsp;=&nbsp;''G''&nbsp;=&nbsp;''B''&nbsp;=&nbsp;0, dann ist ''S'' ohne Bedeutung und per Definition wird ''S''&nbsp;=&nbsp;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 allerdings nicht im Fall ''MAX''&nbsp;=&nbsp;''MIN''&nbsp;=&nbsp;1, d.&nbsp;h. [[Weiß]]: der Wert 0 ist von elementarer Bedeutung, wie an der obigen Kegelform erkennbar ist.


Undefinierte Werte werden aus rechentechnischen Gründen mit „Null“ besetzt.
Ist ''S'' gleich 0.0, dann ist die resultierende Farbe Grau. In diesem Spezialfall bekommen ''R'', ''G'',
und ''B'' einfach den Wert ''V''. Wie oben ist ''H'' in diesem Falle irrelevant.


=== Umrechnung HSV in RGB ===
Ist ''S'' nicht Null, so werden die folgenden Formeln verwendet:
<!-- Es wird gebeten, nicht am Code zu schrauben, ohne den Artikel vorher sorgfältig zu lesen und auf der Diskussionsseite die Änderung vorzustellen -->
:Vorbedingung: <math>H \in [0^\circ,360^\circ], \; S, V \in [0,1]</math>


Es werden das Grundfarbenintervall <math>h_i</math>, der Wert innerhalb dieses Intervalls <math>f</math> in <math>[0,1]</math> und noch drei Hilfswerte bestimmt, die bereits die jeweiligen Streckenlängen enthalten, aber entsprechend auf die Komponenten ''R'', ''G'' und ''B'' zu verteilen sind:
<math>H_i = \lfloor { H \over 60 } \rfloor mod 6 </math>


<math>f = \frac{H}{60} - H_i</math>
:<math>h_\mathrm{i} := \left \lfloor { H \over 60^\circ } \right \rfloor;\;\;\;f := \left(\frac{H}{60^\circ} - h_\mathrm{i}\right)</math>


<math>p = V \cdot ( 1 - S )</math>
:<math>p := V \cdot (1 - S);\quad q := V \cdot (1 - S \cdot f );\quad t := V \cdot \left( 1 - S \cdot (1 - f) \right)</math>


:<math>(R,G,B) :=
<math>q = V \cdot ( 1 - ( S \cdot f ) )</math>
\begin{cases}

(V,t,p), & \text{falls } h_\mathrm{i} \in \{0,6\} \\
<math>t = V \cdot ( 1 - ( S \cdot ( 1 - f ) ) )</math>
(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}
</math>


<math>\mbox{if } H_i = 0 \rightarrow R = V, G = t, B = p \,</math>
:Nachbedingung: <math>R, G, B \in [0,1]</math>


Ist ''S''&nbsp;=&nbsp;0, dann ist die resultierende Farbe Neutralgrau, und die Formel vereinfacht sich zu ''R''&nbsp;=&nbsp;''G''&nbsp;=&nbsp;''B''&nbsp;=&nbsp;''V''.
<math>\mbox{if } H_i = 1 \rightarrow R = q, G = V, B = p \,</math>


== Abgewandelte Farbmodelle ==
<math>\mbox{if } H_i = 2 \rightarrow R = p, G = V, B = t \,</math>
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<ref name="Gonzalez, Woods"/>
<ref name="tu-muenchen HSI" /> oder Foley und Van Dam.<ref name="Foley, VanDam"/><ref name="tu-muenchen HSL" />


=== HSL ===
<math>\mbox{if } H_i = 3 \rightarrow R = p, G = q, B = V \,</math>
{| class="float-right"
|- style="vertical-align:top"
| [[Datei:TSL-Cone02.png|mini|HSL-Farbraum als Doppelkegel]]
|}
Der HSL-Farbraum (auch als HLS bezeichnet) hat die Parameter Farbwinkel&nbsp;H, Farbsättigung&nbsp;S und Farbhelligkeit&nbsp;L. Im Gegensatz zum HSV-Farbraum wird er jedoch auf den zwischen Weiß und Schwarz liegenden [[Weißpunkt|Graupunkt]] als [[Neutralgrau|neutrales Grau]] bezogen. Der Graupunkt liegt in der Mitte und die [[Buntton|Buntwerte]] außen, der Farbkörper wird daher als [[Doppelkegel]], (Doppel-)[[Zylinder (Geometrie)|Zylinder]] oder sechsseitiges [[Prisma (Geometrie)|Prisma]] dargestellt.


Ähnlich aufgebaut ist das [[LCh-Farbraum|CIE-LCh°-Modell]] mit Farbhelligkeit&nbsp;L, [[Buntheit]]&nbsp;C (entspricht der Sättigung) und dem [[Bunttonwinkel]]&nbsp;h° (entspricht dem Farbwinkel), das gewissermaßen einem [[Lab-Farbraum]] in [[Zylinderkoordinaten]] entspricht.
<math>\mbox{if } H_i = 4 \rightarrow R = t, G = p, B = V \,</math>


=== HSB und HSI ===
<math>\mbox{if } H_i = 5 \rightarrow R = V, G = p, B = q \,</math>
An den Bedürfnissen der [[Farbmetrik]] und der phototechnischen [[Farbreproduktion|Reproduktion]] orientieren sich das HSB- und das HSI-Modell. Auch hierbei steht ''H'' für Buntwert&nbsp;''(hue)'' und ''S'' für Sättigung. Der Unterschied bezieht sich auf die dritte Koordinate:
* HSB mit der [[Strahlungsgröße]] der absoluten [[Helligkeit]]&nbsp;B
* HSI mit der [[Lichtintensität]]&nbsp;I.


== Andere Farbmodelle ==
== Weblinks ==
{{Commonscat|HSV}}
*[[YUV-Farbmodell]]
*[[RGB-Farbraum]]
*[[CMYK-Farbmodell]]


== Einzelnachweise ==
{{Farbdarstellung}}
<references>
<ref name="Foley, VanDam">
{{Literatur
|Autor=James D. Foley, Andries van Dam, Steven K. Feiner, John F. Hughes
|Titel=Computer Graphics: Principles and Practice in C
|Verlag=Addison-Wesley
|Ort=München
|Datum=1990}}</ref>
<ref name="Gonzalez, Woods">
{{Literatur
|Autor=Rafael Gonzalez, Richard E. Woods
|Titel=Digital Image Processing
|Verlag=Prentice Hall Press
|Datum=2002
|ISBN=0-201-18075-8
|Seiten=295}}</ref>
<ref name="Travis">
{{Literatur
|Autor=D. Travis
|Titel=Effective Color Displays
|TitelErg=Theory and Practice
|Verlag=Academic Press
|Datum=1991
|ISBN=0-12-697690-2}}</ref>
<ref name="tu-muenchen">
{{Internetquelle
|autor=Adrian Ford, Alan Roberts
|url=https://www5.in.tum.de/lehre/vorlesungen/graphik/info/csc/
|titel=Colour Space Conversions
|werk=The Colour (color) Equations Document
|sprache=en
|datum=1996-09
|zugriff=2006-08-30}}</ref>
<ref name="tu-muenchen HSI">
{{Internetquelle
|autor=Adrian Ford, Alan Roberts
|url=https://www5.in.tum.de/lehre/vorlesungen/graphik/info/csc/COL_24.htm#topic23
|sprache=en
|titel=HSI: Hue Saturation Intensity
|werk=The Colour (color) Equations Document
|datum=1996-09
|zugriff=2006-08-30}}</ref>
<ref name="tu-muenchen HSL">
{{Internetquelle
|autor= Adrian Ford, Alan Roberts
|url=https://www5.in.tum.de/lehre/vorlesungen/graphik/info/csc/COL_26.htm#topic25
|sprache=en
|titel=HSL: Hue Saturation Lightness
|werk=The Colour (color) Equations Document
|datum=1996-09
|zugriff=2006-08-30}}</ref>
<ref name="tu-muenchen HSV">
{{Internetquelle
|autor=Adrian Ford, Alan Roberts
|url=https://www5.in.tum.de/lehre/vorlesungen/graphik/info/csc/COL_25.htm#topic24
|titel=HSV: Hue Saturation Value
|datum=1996-09
|sprache=en
|werk=The Colour (color) Equations Document
|zugriff=2006-08-30}}</ref>
<ref name="WP-en">nach [[:en:HSV color space|HSV color space]] – Englische Wikipedia, der Formelsatz ist hier etwas anders angegeben</ref>
</references>


{{Hinweis Farbdarstellung}}
[[Kategorie:Farbsystem]]


[[Kategorie:Farbsystem|Hsvfarbraum]]
[[en:HSV color space]]
[[es:Modelo de color HSV]]
[[fr:Hue saturation value]]
[[gl:HSV]]
[[ja:HSV色空間]]
[[nl:HSV (kleurruimte)]]
[[pl:HSV (grafika)]]
[[sv:NMI]]
[[vi:Không gian màu HSB]]
[[zh:色彩属性模式]]

Aktuelle Version vom 23. Dezember 2024, 16:26 Uhr

Farbwert H, Sättigung S, Dunkelstufe V
Farbtonskala

Der HSV-Farbraum ist der Farbraum etlicher Farbmodelle. Der Farbraum wurde 1978 von A. R. Smith veröffentlicht.[1]

In HSV ist der Farbort einer Farbe definiert mit Hilfe der drei Koordinaten:

Ähnliche Definitionen führen zu

HSV-Raum und Farbwahrnehmung

[Bearbeiten | Quelltext bearbeiten]
Die HSV-Koordinaten am Beispiel Navyblau

In Fragen der Farbnachstellung wird das HSV-Modell gegenüber den Alternativen RGB und CMYK bevorzugt, weil es der menschlichen Farbwahrnehmung stärker entspricht (beispielsweise ist es im RGB-Modell schwer, sich Gelb als Mischung von Rot und Grün vorzustellen). Für die Farbmischung kann man unmittelbar den gewünschten Farbton wählen und dann entscheiden, wie gesättigt und wie hell (oder dunkel) dieser sein soll, oder ob eine andere Farbnuance passender ist:

  • Der Farbwinkel 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.
  • Die Sättigung entspricht der Zumischung von purem Weiß (d. h. Licht mit gleichen Intensitäten in allen Wellenlängen) zu einer simulierten Spektralfarbe (oder vielmehr der entsprechenden Spaltbreite um die dominante Wellenlänge herum); dabei entspricht stärkere Weiß-Zumischung einer geringeren Sättigung.
  • Die Helligkeit ist ein Parameter für den Gesamtenergieinhalt bzw. für 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.

CMYK hingegen ist eine Wahlmethode, die an die vorhandenen (geräteabhängigen) Grundfarben gebunden ist, 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. Dagegen wird aus den HSV-Koordinaten mittels geeigneter farbmetrischer Formelsätze auf die Parameter des Spektrums wie Wellenlänge und Amplitude rückgeschlossen. Begrenzend wirkt hier allerdings die Metamerie, da es nicht ohne Probleme möglich ist, aus drei Koordinaten die Vielheit eines Spektrums zu ermitteln; dies ist allerdings kein großes Problem, da das HSV-System meist auch nicht angewendet wird, um die Eigenschaften eines Spektrums zu ermitteln, sondern um Farben auszuwählen.

HSV-Farbraum als Kegel
HSV-Farbraum als Zylinder

Farbmodelle, die die HSV-Parameter anschaulich darstellen, sind:

  • der auf der Spitze stehende HSV-Kegel, bei dem die Helligkeit von oben (Farbkreis) nach unten (Spitze = Schwarz) abnimmt.
  • ein Zylinder, bei dem die Helligkeit zu einer Fläche (anstatt zu einem Punkt) abnimmt.
  • eine Halbkugel, das farbmetrisch korrekte Modell.
  • eine Pyramide mit sechseckigem Grundriss, die präziser auf das Gamut-Problem eingeht. Allerdings sind die S-Werte nicht direkt ablesbar, oder sie ergeben nur bei den sechs Grundfarben eine Summe von 100%. Die hexagonale Pyramide ist kein Farbraum.

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

Aufgrund der vielfältigen Darstellungsformen weichen die HSV-Werte für denselben Farbort teilweise ab, wodurch die Angabe des genutzten Modells unabdingbar wird. Das macht die HSV-Modelle zwar für die Auswahl und Darstellung von Farben hilfreich, in Bezug auf Farbmetrik können jedoch Komplikationen auftreten.

Mit Angabe des verwendeten Modells können HSV-Werte in Lab-Koordinaten umgerechnet werden, die dann auf andere Farbmodelle transferierbar sind.

Ein HSV-Farbwähler

Für Farbwähler in der Informatik ist eine Darstellung des Farbraums durch das HSV-Modell ü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 auf einer Dreiecksseite und auf deren Mittelsenkrechten die Helligkeit abgetragen ist. Eine Variante ist ein im Inneren des Farbkreises liegendes SV-Dreieck, dessen Spitze auf den Farbton im Farbkreis zeigt, die Dreiecksseite der Sättigung 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 kegelförmigen bzw. zylindrischen Schnitt durch den Farbraum, wobei die jeweilige Sättigung dem Radius des Schnitts gegenüber der Weiß-Schwarz-Achse entspricht.

Transformation von HSV/HSL und RGB

[Bearbeiten | Quelltext bearbeiten]
Zusammenhänge zwischen HSV- und RGB-Raum
Gegenüberstellung von HSV/HSL und RGB
Farbe H S V H S L R G B
Rot 100 % 100 % 100 % 50 % 100 % 0 % 0 %
Orangerot 15° 100 % 100 % 15° 100 % 50 % 100 % 25 % 0 %
Orange 30° 100 % 100 % 30° 100 % 50 % 100 % 50 % 0 %
Orangegelb 45° 100 % 100 % 45° 100 % 50 % 100 % 75 % 0 %
Gelb 60° 100 % 100 % 60° 100 % 50 % 100 % 100 % 0 %
Grüngelb 75° 100 % 100 % 75° 100 % 50 % 75 % 100 % 0 %
Grasgrün 90° 100 % 100 % 90° 100 % 50 % 50 % 100 % 0 %
Gelbgrün 105° 100 % 100 % 105° 100 % 50 % 25 % 100 % 0 %
Hellgrün 120° 100 % 100 % 120° 100 % 50 % 0 % 100 % 0 %
Leichtes Blaugrün 135° 100 % 100 % 135° 100 % 50 % 0 % 100 % 25 %
Frühlingsgrün 150° 100 % 100 % 150° 100 % 50 % 0 % 100 % 50 %
Grüncyan 165° 100 % 100 % 165° 100 % 50 % 0 % 100 % 75 %
Cyan 180° 100 % 100 % 180° 100 % 50 % 0 % 100 % 100 %
Blaucyan 195° 100 % 100 % 195° 100 % 50 % 0 % 75 % 100 %
Grünblau 210° 100 % 100 % 210° 100 % 50 % 0 % 50 % 100 %
Leichtes Grünblau 225° 100 % 100 % 225° 100 % 50 % 0 % 25 % 100 %
Blau 240° 100 % 100 % 240° 100 % 50 % 0 % 0 % 100 %
Indigo 255° 100 % 100 % 255° 100 % 50 % 25 % 0 % 100 %
Violett 270° 100 % 100 % 270° 100 % 50 % 50 % 0 % 100 %
Blaumagenta 285° 100 % 100 % 285° 100 % 50 % 75 % 0 % 100 %
Magenta 300° 100 % 100 % 300° 100 % 50 % 100 % 0 % 100 %
Rotmagenta 315° 100 % 100 % 315° 100 % 50 % 100 % 0 % 75 %
Blaurot 330° 100 % 100 % 330° 100 % 50 % 100 % 0 % 50 %
Leichtes Blaurot 345° 100 % 100 % 345° 100 % 50 % 100 % 0 % 25 %
Kastanie 100 % 50 % 100 % 25 % 50 % 0 % 0 %
Oliv 60° 100 % 50 % 60° 100 % 25 % 50 % 50 % 0 %
Grün 120° 100 % 50 % 120° 100 % 25 % 0 % 50 % 0 %
Blaugrün 180° 100 % 50 % 180° 100 % 25 % 0 % 50 % 50 %
Marineblau 240° 100 % 50 % 240° 100 % 25 % 0 % 0 % 50 %
Purpur 300° 100 % 50 % 300° 100 % 25 % 50 % 0 % 50 %
Weiß 0 % 100 % 0 % 100 % 100 % 100 % 100 %
Grau 0 % 50 % 0 % 50 % 50 % 50 % 50 %
Schwarz 0 % 0 % 0 % 0 % 0 % 0 % 0 %

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

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

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

  • Üblich sind auch farbmetrische Angaben von H, S und V, normiert auf , die dadurch denen des RGB-Modells gleichen. Der unten angegebene Formelsatz wäre dann entsprechend einfacher.
  • Außerdem sind Werte in Intervallen gebräuchlich (hexadezimal als , oktal als ), 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. Weiterhin ist zu beachten, ob der Körper für das zugrunde gelegte Modell ein Würfel, eine Kugel, ein Kegel oder ein Doppelkegel ist.

Umrechnung RGB in HSV/HSL

[Bearbeiten | Quelltext bearbeiten]
Vorbedingung:
Nachbedingung:

Diese Formeln spiegeln einige Eigenheiten der HSV-Werte wider:

  • Wenn R = G = B, dann ist H ohne Bedeutung und es 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 (obige Kegelform), 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 allerdings nicht im Fall MAX = MIN = 1, d. h. Weiß: der Wert 0 ist von elementarer Bedeutung, wie an der obigen Kegelform erkennbar ist.

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

Umrechnung HSV in RGB

[Bearbeiten | Quelltext bearbeiten]
Vorbedingung:

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

Nachbedingung:

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

Abgewandelte Farbmodelle

[Bearbeiten | Quelltext bearbeiten]

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[2] [8] oder Foley und Van Dam.[5][9]

HSL-Farbraum als Doppelkegel

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 Graupunkt liegt in der Mitte und die Buntwerte außen, der Farbkörper wird daher als Doppelkegel, (Doppel-)Zylinder oder sechsseitiges Prisma dargestellt.

Ähnlich aufgebaut ist das CIE-LCh°-Modell mit Farbhelligkeit L, Buntheit C (entspricht der Sättigung) und dem Bunttonwinkel h° (entspricht dem Farbwinkel), das gewissermaßen einem Lab-Farbraum in Zylinderkoordinaten entspricht.

An den Bedürfnissen der Farbmetrik und der phototechnischen Reproduktion orientieren sich 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:

Commons: HSV – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. Color Gamut Transform Pairs. (pdf) In: alvyray.com. 1978, abgerufen am 1. November 2023 (englisch).
  2. a b Rafael Gonzalez, Richard E. Woods: Digital Image Processing. Prentice Hall Press, 2002, ISBN 0-201-18075-8, S. 295.
  3. nach HSV color space – Englische Wikipedia, der Formelsatz ist hier etwas anders angegeben
  4. Adrian Ford, Alan Roberts: Colour Space Conversions. In: The Colour (color) Equations Document. September 1996, abgerufen am 30. August 2006 (englisch).
  5. 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.
  6. a b Adrian Ford, Alan Roberts: HSV: Hue Saturation Value. In: The Colour (color) Equations Document. September 1996, abgerufen am 30. August 2006 (englisch).
  7. D. Travis: Effective Color Displays. Theory and Practice. Academic Press, 1991, ISBN 0-12-697690-2.
  8. Adrian Ford, Alan Roberts: HSI: Hue Saturation Intensity. In: The Colour (color) Equations Document. September 1996, abgerufen am 30. August 2006 (englisch).
  9. Adrian Ford, Alan Roberts: HSL: Hue Saturation Lightness. In: The Colour (color) Equations Document. September 1996, abgerufen am 30. August 2006 (englisch).