Dies hängt mit einer Frage zusammen, die ich auf tex.stackexchange gestellt habe und die einen Farbaspekt hat. Das Ergebnis dieser Frage ist das folgende Bild:
Ich habe links eine Reihe grauer Quadrate gezeichnet, rechts einen roten Ast. Das Ziel ist es, unterschiedliche rote Quadrate mit unterschiedlicher Sättigung zu haben, aber alle mit demselben Grauwert. Im hsv-Farbmodell haben sie alle das gleiche v
, aber wenn ich das Bild mit Gimp in Graustufen konvertiere, werden sie nicht in das gleiche Grau konvertiert. Der visuelle Eindruck ist auch, dass die roten Quadrate rechts dunkler sind als die links.
Wie kann ich eine gewisse grau, berechnen Farben mit einem bestimmten Farbton und dem gleichen Grauwert (oder, noch besser, mit dem gleichen grauen gegeben Eindruck )? Die im Bild verwendeten Farben sind alle berechnet, daher bevorzuge ich Lösungen, die auch Berechnungen beinhalten.
Ich habe hier möglicherweise falsche Begriffe verwendet - ich bin Maschinenbauingenieur. Bitte korrigieren Sie mich gegebenenfalls oder bitten Sie um Klarstellung.
Der Vorschlag, den Lab-Farbraum zu verwenden, hat mich zu einigen Schlussfolgerungen geführt:
Ich kann den
L
Wert des Lab-Modells verwenden , um einen Grauwert für verschiedene Farben festzulegen. Im hsv-Modell ist diesv
. Ich bin mir nicht sicher, ob ich diese tatsächlich vergleichen darf, aber ich werde es tun, bis sich jemand beschwert.Im hsv-Modell kann ich auch eine "Grundfarbe" (einen Farbton) festlegen, die ich im Lab-Modell nicht finden kann.
Im hsv-Modell habe ich 2 Konstanten (im obigen Bild:
h
= 0,v
= 0,375) und eine Variable (s
).Bis zu diesem Punkt habe ich nur eine Konstante im Lab-Modell. Das reicht nicht aus, um etwas Ähnliches zu generieren, wie ich es bereits mit dem hsv-Modell gemacht habe.
Ich denke, es ist Zeit für Experimente.
Erledigt! Nachdem ich den Konvertierungscode zum Laufen gebracht hatte, war es ganz einfach. Der erste Schritt bestand darin, das "Zielrot" rechts zu definieren. Ich berechnete RGB2Lab (255,0,0) und änderte den L-Wert des Ergebnisses auf das gewünschte L in der Abbildung (L = 62,5). Die Farben werden unter Verwendung einer linearen Interpolation im Laborraum von (L, 0,0) bis (L, aTarget, bTarget) berechnet. Das Ergebnis:
Vielen Dank!