HSV-Werte in RGB umrechnen

Inhalt zuletzt geprüft:

Geben Sie Farbton, Sättigung und Hellwert ein, und die RGB-Kanäle erscheinen schon beim Tippen: hsv(217.2, 76%, 96.5%) ergibt rgb(59, 130, 246). Das Feld nimmt Grad und Prozent aus Photoshop oder Figma, die drei Zahlen aus OpenCV und Brüche aus Python an. Wählen Sie am Schalter HSV-Schreibweise die passende Option, bevor Sie die Zahlen einfügen, denn steht schon eine Farbe im Feld, schreibt der Schalter sie als dieselbe Farbe in der neuen Schreibweise um.

Geben Sie den Farbton in Grad sowie Sättigung und Hellwert in Prozent ein. Trennen Sie die Werte mit Kommas oder Leerzeichen.

HSV-Schreibweise

Grad und Prozent zeigen Photoshop und Figma. OpenCV speichert den Farbton von 0 bis 179 sowie Sättigung und Hellwert von 0 bis 255. Brüche von 0 bis 1 liefern colorsys in Python und Unity.

nach

Was bedeuten die drei HSV-Zahlen?

Die erste Zahl ist der Farbton (H), ein Winkel auf dem Farbkreis: 0° ist Rot, 120° Grün und 240° Blau. Die zweite ist die Sättigung (S), bei der 0 % ein neutrales Grau und 100 % die reine Farbe bedeuten. Die dritte ist der Hellwert (V), auch Dunkelstufe genannt[1]. Photoshop nennt dasselbe Modell HSB, und die Adobe-Hilfe bezeichnet seine Bestandteile als Farbton, Sättigung und Helligkeit[2].


Sättigung und Hellwert versteht man am besten über Malfarbe. Alvy Ray Smith, der das Modell 1978 beschrieb, verglich sie mit dem Beimischen von Weiß und Schwarz zu einem reinen Farbton: weniger Sättigung heißt mehr Weiß, ein niedrigerer Hellwert heißt mehr Schwarz[3]. Deshalb ist jede Farbe mit Hellwert 0 % schwarz, egal was die beiden anderen Zahlen sagen, und bei Sättigung 0 % bleibt ein Grau mit diesem Hellwert.

Farbige Musterkarten, im Kreis auf einem hellen Tisch aufgefächert
Farbmusterkarten, im Kreis gelegt von Gelb über Grün und Blau bis zu Violett, Rosa und Rot. Der Farbton in HSV sagt, an welcher Stelle eines solchen Kreises eine Farbe liegt, gezählt ab Rot. Foto: Andy Brown, Unsplash.

Liegt Ihre Farbe in einer anderen Schreibweise vor, etwa als OKLCH, Lab oder Android-Code, zeigt der Farbumrechner sie gleichzeitig in allen Schreibweisen.

Wie rechnet man HSV in RGB um?

Berechnen Sie zuerst die Buntheit, also die Spanne zwischen den Kanälen: C = V × S. Teilen Sie dann den Farbton durch 60°. Der ganzzahlige Teil wählt einen von sechs Abschnitten des Farbkreises, aus dem Rest ergibt sich der mittlere Kanal: X = C × (1 − |(H ÷ 60°) mod 2 − 1|). Zum Schluss addieren Sie zu jedem Kanal m = V − C[4].


Nehmen wir hsv(217.2, 76%, 96.5%). Die Buntheit beträgt 0,965 × 0,76 = 0,733. Der Farbton geteilt durch 60° ergibt 3,62, die Farbe liegt also im Abschnitt zwischen 180° und 240°, in dem Rot null ist, Grün der mittlere Kanal und Blau voll. Der mittlere Kanal beträgt 0,733 × (1 − |1,62 − 1|) = 0,279, und m = 0,965 − 0,733 = 0,232.


Nach dem Addieren von m haben die Kanäle 0,232, 0,511 und 0,965. Mit 255 multipliziert und gerundet ergibt das rgb(59, 130, 246), und der RGB-in-HEX-Umrechner macht daraus einen Hexadezimalcode.

Welche RGB-Farben liegen im Abstand von 30° auf dem Farbkreis?

Die Tabelle zeigt zwölf Farbtöne bei voller Sättigung und vollem Hellwert, also die reinen Farben am Rand des Kreises. RGB-Werte und HEX-Codes hat der Umrechner berechnet.
HSV-SchreibweiseRGB-WerteHEX-Code
hsv(0, 100%, 100%)rgb(255, 0, 0)#FF0000
hsv(30, 100%, 100%)rgb(255, 128, 0)#FF8000
hsv(60, 100%, 100%)rgb(255, 255, 0)#FFFF00
hsv(90, 100%, 100%)rgb(128, 255, 0)#80FF00
hsv(120, 100%, 100%)rgb(0, 255, 0)#00FF00
hsv(150, 100%, 100%)rgb(0, 255, 128)#00FF80
hsv(180, 100%, 100%)rgb(0, 255, 255)#00FFFF
hsv(210, 100%, 100%)rgb(0, 128, 255)#0080FF
hsv(240, 100%, 100%)rgb(0, 0, 255)#0000FF
hsv(270, 100%, 100%)rgb(128, 0, 255)#8000FF
hsv(300, 100%, 100%)rgb(255, 0, 255)#FF00FF
hsv(330, 100%, 100%)rgb(255, 0, 128)#FF0080
Bei voller Sättigung und vollem Hellwert hat immer ein Kanal 255 und ein anderer 0. Senkt man den Hellwert auf 50 %, halbieren sich die Kanäle, die nicht null sind, ungefähr: hsv(0, 100%, 50%) ist rgb(128, 0, 0).

Ergeben ganze Zahlen aus Figma genau dieselbe Farbe?

Nicht immer. Figma schreibt HSB in ganzen Zahlen[5], und ein gerundeter Farbton, eine gerundete Sättigung oder ein gerundeter Hellwert kann einen RGB-Kanal um eine Stufe verschieben. Die Tabelle vergleicht die Ergebnisse des Umrechners für dieselbe Farbe, einmal genau und einmal gerundet geschrieben.
HSV-SchreibweiseRGB-WerteHEX-Code
hsv(217.2, 76%, 96.5%)rgb(59, 130, 246)#3B82F6
hsv(217, 76%, 96%)rgb(59, 130, 245)#3B82F5
hsv(217, 76%, 97%)rgb(59, 131, 247)#3B83F7
hsv(142.1, 82.7%, 77.3%)rgb(34, 197, 94)#22C55E
hsv(142, 83%, 77%)rgb(33, 196, 93)#21C45D
Wir haben alle 16 777 216 RGB-Farben geprüft: Mit HSV auf ganze Zahlen gerundet kommen über 14,7 Millionen davon als andere Farbe zurück, mit einer Nachkommastelle kommt jede unverändert zurück. Deshalb gibt der RGB-in-HSV-Umrechner sein Ergebnis mit einer Nachkommastelle aus.

Wie schreibt man eine HSV-Farbe in CSS?

CSS kennt keine Funktion hsv(), wohl aber hwb(), in der nach dem Farbton die Menge an Weiß und Schwarz folgt, die der Farbe beigemischt wird[6]. Das HWB-Modell hat Alvy Ray Smith 1996 beschrieben, und es ergibt sich aus HSV über zwei kurze Formeln: W = (1 − S) × V und B = 1 − V[7].


Für hsv(217.2, 76%, 96.5%) beträgt der Weißanteil (1 − 0,76) × 0,965 = 23,1 % und der Schwarzanteil 1 − 0,965 = 3,5 %. Im Stylesheet schreiben Sie also hwb(217.2 23.1% 3.5%), und der Browser zeigt dieselbe Farbe wie rgb(59, 130, 246). Wenn Sie eine Schreibweise bevorzugen, die jedes Werkzeug versteht, fügen Sie einfach das Ergebnis dieses Umrechners ein.

Warum kommt ein OpenCV-Tripel als leicht andere Farbe zurück?

OpenCV speichert den Farbton eines 8-Bit-Bildes als halben Winkel, damit er in ein Byte passt[8]. Benachbarte Farbtonwerte liegen deshalb 2° auseinander, und eine Farbe dazwischen hat keine genaue Entsprechung. Das Tripel 109, 194, 246, das OpenCV für rgb(59, 130, 246) liefert, kommt mit der OpenCV-Option als rgb(59, 127, 246) zurück, also mit einem um drei Stufen niedrigeren Grünkanal. OpenCV selbst liefert genau dasselbe: Wir haben die OpenCV-Option mit OpenCV.js 4.10 an allen Tripeln mit einem Farbton von 0 bis 180 verglichen.


Geht das Ergebnis zurück in ein Bild, das mit cv2.imread geladen wurde, nehmen Sie cv2.COLOR_HSV2BGR, denn ein solches Bild speichert die Kanäle in der Reihenfolge Blau, Grün, Rot[9].

Welche HSV-Schreibweisen nimmt dieser Umrechner an?

Jede dieser Schreibweisen nimmt das Feld an und rechnet sie um, Sie müssen vor dem Einfügen also nichts korrigieren. Die Tabelle zeigt, was der Umrechner mit jeder davon macht, und die Ergebnisse hat er selbst mit der Option 0–360°, 0–100% berechnet, sofern der Hinweis nichts anderes sagt.
Was Sie eingebenWas der Umrechner zeigtWie wir es lesen
hsv(217.2, 76%, 96.5%)rgb(59, 130, 246)Die Schreibweise mit Klammern, die auch der RGB-in-HSV-Umrechner ausgibt, übernehmen wir unverändert.
hsb(217.2, 76%, 96.5%)rgb(59, 130, 246)Den Namen HSB behandeln wir wie HSV, weil es dasselbe Modell ist.
H 217,2 S 76 B 96,5rgb(59, 130, 246)Die Feldbuchstaben aus dem Photoshop-Farbwähler lassen wir weg und lesen das Komma zwischen Ziffern als Dezimalkomma.
217,2° 76% 96,5%rgb(59, 130, 246)Gradzeichen und Prozentzeichen nehmen wir zusammen mit den Zahlen an.
217,2 76 % 96,5 %rgb(59, 130, 246)Das Leerzeichen vor dem Prozentzeichen, wie es in deutschen Texten üblich ist, übergehen wir.
0,6034 0,7602 0,9647rgb(59, 130, 246)Drei Brüche, die nicht größer als 1 sind, erkennen wir als Python-Schreibweise und lesen sie wie bei der Option 0–1.
hsva(217.2, 76%, 96.5%, 0.5)rgba(59, 130, 246, 0.5)Die vierte Zahl nehmen wir als Deckkraft und übertragen sie als rgba ins Ergebnis.
[109 194 246]rgb(59, 127, 246)Ein von Python ausgegebenes NumPy-Array lesen wir samt Klammern, wenn die Option OpenCV (0–179, 0–255) gewählt ist.
hsv(217.2, 76%, 96.5%rgb(59, 130, 246)Eine fehlende schließende Klammer ist ein Tippfehler, die Zahlen lesen wir trotzdem.

Andere Einheiten in RGB umrechnen

Quellen

  1. HSV-Farbraum — Wikipedia
  2. Farben in Adobe Photoshop auswählen — Adobe
  3. Color Gamut Transform Pairs (SIGGRAPH 78) — Alvy Ray Smith
  4. HSL and HSV — HSV to RGB — Wikipedia (englisch)
  5. About color models — Figma Help Center
  6. CSS Color Module Level 4 — HWB Colors: hwb() function — W3C
  7. HWB — A More Intuitive Hue-Based Color Model — Alvy Ray Smith
  8. Color conversions: RGB ↔ HSV — OpenCV
  9. Image file reading and writing: imread — OpenCV
  10. colorsys — Conversions between color systems — Python Software Foundation

Alle Werte in den Tabellen haben wir aus den Einheitendefinitionen berechnet und vor der Veröffentlichung rechnerisch geprüft. Historische Angaben und die Namen lokaler Einheiten stützen sich auf die oben genannten Quellen.

Inhalt zuletzt geprüft: · erstellt und geprüft vom Arteon-Team

Häufige Fragen zur Umrechnung von HSV in RGB

Was passiert bei einem Farbton über 360° oder unter 0°?

Der Umrechner dreht ihn wie CSS auf dem Farbkreis weiter, 480° entspricht also 120° und −120° entspricht 240°. hsv(480, 100%, 100%) ergibt deshalb Grün, rgb(0, 255, 0).

Warum nimmt der Umrechner keine Sättigung von 194 an?

Bei der Option 0–360°, 0–100% reichen Sättigung und Hellwert höchstens bis 100. Eine größere Zahl ohne Prozentzeichen stammt meist aus der Skala 0 bis 255 von OpenCV. Statt sie stillschweigend auf 100 % zu kürzen, zeigt der Umrechner deshalb eine Meldung. Stellen Sie die HSV-Schreibweise dann auf OpenCV (0–179, 0–255).

Ist der Farbton in der Schreibweise 0–1 auch ein Bruch?

Ja. Das Python-Modul colorsys gibt alle drei Zahlen von 0 bis 1 aus[10], der Farbton ist also ein Bruchteil einer vollen Drehung. 0,6034 × 360° ergibt 217,2°.

Wie rechne ich HSV in einen HEX-Code um?

Rechnen Sie den Wert hier um und fügen Sie das Ergebnis in den RGB-in-HEX-Umrechner ein. Die Farbe sehen Sie sofort im quadratischen Farbfeld neben dem Eingabefeld, und ein Klick darauf öffnet die Farbauswahl des Systems.

Wie rechne ich RGB in HSV um?

Geben Sie die Kanäle in den RGB-in-HSV-Umrechner ein. Die Schaltfläche Reihenfolge tauschen bringt Sie mit dem aktuellen Ergebnis dorthin.

Screenshot des kostenlosen Arteon-Werkzeugs: HSV-Werte in RGB umrechnen

Helfen Sie uns, unsere Werkzeuge zu verbessern

Haben Sie eine Idee für eine neue Funktion, einen Fehler gefunden oder möchten Sie ein weiteres Werkzeug vorschlagen? Schreiben Sie uns.