Ich versuche, eine HSV-Darstellung des xyY-Farbraums zu erstellen. Um den Farbton aus einer -Farbe zu berechnen , verwende ich den Winkel zwischen dieser Farbe und Rot (Wellenlänge 745) im xy-Chromazitätsdiagramm mit Weiß ( 1)als Zentrum.
Die Sättigung ist das Verhältnis zwischen dem Abstand zwischen Weiß und und Weiß und einer vollständig gesättigten Version von ( x , y ) (die der Schnittpunkt zwischen der Linie zwischen ( 1) istund(x,y) und der Rand des Chromazitätsdiagramms).
xy-Chromazitätsdiagramm:
Das Problem, das ich habe, ist, dass wenn ich meinen Farbraum zeichne (bei Wert = 1) und ihn mit der HSV-Darstellung von RGB vergleiche, die Sättigung (Abstand vom Zentrum) nicht mit der "Buntheit" der Farbe übereinzustimmen scheint ist eigentlich:
Mein Farbraum (Sättigung scheint falsch):
HSV-Farbraum von RGB:
Wie soll ich stattdessen die Sättigung berechnen?
quelle
Antworten:
Es gibt leider keine gute Antwort auf diese Frage. Einfach geht es nicht. Es gibt keine gute Möglichkeit, Farben in diesem Kontext zu definieren. Cie versucht, das physikalische Maß zu erfassen. Es gelingt ihm jedoch nicht sehr gut, die Farben miteinander in Beziehung zu setzen.
Farben auf dem äußersten Bogen repräsentieren Spektralverteilungen nahe der Dirac-Delta-Funktion . Man könnte also ein Modell konstruieren, das besagt, dass eine Farbe sehr bunt ist, wenn es sich um ein Dirac-Delta handelt.
Es gibt jedoch eine unvorhergesehene Konsequenz dieser Definition. Die magentafarbenen Farben existieren nämlich nicht als Dirac-Deltas. Da diese Farben im Spektrum nicht existieren. Sie bestehen also nur aus einer Mischung von 2 Wellenlängen. Dies würde bedeuten, dass sie weniger bunt sind als die meisten anderen Farben.
Andere Probleme
Leider ist xyY nicht einheitlich in der Wahrnehmung. Eine gerade Linie auf dem xyY repräsentiert also keine Interpolationen zwischen zwei Farbmischungen. Wenn Sie also eine Polartransformation durchführen, erhalten Sie unterschiedliche Farbgrundlagen für dieselben Koordinaten. Auch vorgefertigte Farben gehen nicht wirklich auf Ihr Modell über. Um dies richtig zu machen, müssten Sie eine äußerst raffinierte Transformation durchführen.
Es gibt viele Probleme bei der Konvertierung von Farbe in Polarkoordinaten, da dies genau der Wirkungsweise des Sehens widerspricht. Weiß ist in diesem Zusammenhang auch ein bisschen problematisch. Der Abstand zum vollen gesättigten Signal ist für jeden der 3 verschiedenen Zapfen im Auge unterschiedlich. Die Hölle, auch was dabei ist, hängt von den Umgebungsfarben und den Umgebungsfarbbedingungen ab. Also fürchte dich davor, eine Weltanschauung zu erzwingen, die es nicht gibt.
Schließlich
Wofür wäre das nützlich?
quelle
Die Modelle XYZ und xyY sind für bestimmte Vorgänge äußerst nützlich, z. B. zum Manipulieren von RGB-Farbräumen in einen anderen RGB-codierten Farbraum.
In anderen Kontexten scheitern XYZ und xyY jedoch recht schnell. Betrachten Sie beispielsweise MacAdams-Ellipsen, die auffällige Unterschiede auf der linearen xyY-Skala beschreiben. Sie könnten in der Tat eine nichtlineare, wahrnehmungsmäßig einheitliche Transformation auf die xyy-Werte anwenden, und Sie würden wahrscheinlich näher an das gelangen, was Sie sich in Ihrem Zirkelschnittstellenelement erhoffen.
Angesichts dessen besteht Bedarf an Modellen, die xyY / XYZ erweitern und darauf aufbauen, um den psychophysischen Aspekt der Farbe für die Bewertung von Dingen wie "Farbigkeit" anzugehen. Dies tritt in die Domäne von Farberscheinungsmodelle ein , die in der Lage sind, verschiedene Probleme in Bezug auf Helligkeit (Luminanz), Helligkeit, Buntheit, Chroma, Sättigung und Farbton genau zu modellieren und vorherzusagen. Um das zu erreichen, was Sie suchen, müssen Sie Ihre Daten in ein Farbdarstellungsmodell wie CIECAM02 umwandeln.
Die in der anderen Lösung genannten Probleme werden tatsächlich durch Farberscheinungsmodelle wie das CIECAM02-Modell gelöst, einschließlich psychophysischer Effekte, die sich als optische Täuschungen manifestieren.
quelle