Farbe - Frequenz und RGB?

Hallo Farbexperten,

kennt Ihr eine Zuordnung von RGB-Werten zur Frequenz von gleichfarbigem Licht (als Spektralfarbe)?

Die Spektralfarben werden durch RGB-Mischungen simuliert. Spektralfarben haben eine eindeutige Frequenz (bzw. Wellenlänge). Ich möchte einer beliebigen Licht-Frequenz die entsprechende Farbdarstellung in RGB zuordnen.

Gibt es dafür Tabellen, Algorithmen oder Software?

Ich freue mich über Hinweise!

Gruss, Wolfgang

Gibt es dafür Tabellen, Algorithmen oder Software?

Ich habe zwar kein fertiges Programm, aber ich könnte eins schreiben. Dazu bräuchte ich allerdings die Emissionsspektren der Leuchtstoffe eines Farbmonitors und die Absorptionsspektren der Farbstoffe in den Zäpfchen des menschlichen Auges. Wenn Du diese Kurven herausbekommst (in entsprechenden Foren nachfragen), dann würde ich mich um die Umrechnung kümmern.

Hallo

Leider kannst du das Programm nur für EINE bestimmte kombination aus Monitor und Graphik-Karte schreiben.

  1. Die Monitore haben verschiedene zusammensetzte Leuchtschichten (je Nach Fabrikat)
  2. Ist die Leuchtschicht nicht immer gleichmässig auf dem Glas verteilt.
  3. Sind die Verstärkungs-Pfade für R, G und B auch toleranzen unterworfen.
  4. Das gleiche Problem (3.) trifft auch für die Graphik-Karte zu.
  5. Altert die Leuchtschicht
  6. Kann man am Monitor Helligkeit, Kontrast, Farbsättigung und den Weisswert verstellen (Bei meinem z.B. 6’500K und 9’300K)

Also wird das ganze nur funktionieren wenn man die Aperatur zuerst ausmisst und dann programmiert.

MfG Peter(TOO)

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Leider kannst du das Programm nur für EINE bestimmte
kombination aus Monitor und Graphik-Karte schreiben.

Im Prinzip schon, aber ganz so schlimm ist es nun auch wieder nicht. Zwar sind die Leuchtschichten je nach Hersteller verschieden zusammengesetzt, aber da sie alle auf das menschliche Auge abgestimmt sind, muß ihr Emissionsspektrum ähnlich sein. Die restlichen Punkte (verschiedene Verstärkungsfaktoren, Alterung der farbstoffe usw.) können bei guten Motitoren und Grafikkarten individuell korrigiert werden. Man braucht also nur ein paar Testbilder berechnen anhand derer die Parameter des Systems einmalig kalibriert werden können.

CIE -> RGB
Hi Wolfgang :wink:))

Jede Farbe hat ihr eigenes Frequenzspektrum. Normalerweise wird dieses als Power-Spektrum P(lamda) in Abhängigkeit von der Wellenlänge lambda beschrieben. Schon 1931 beobachtete man, dass man ein solches Spektrum aus drei Funktionen x(lambda), y(lambda) und z(lambda) zusammensetzen kann. Die Funktion y(lambda) hat dabei sogar eine reale Bedeutung, sie beschreibt die Lichtempfindlichkeit unserer Augen in Abhängigkeit von der Wellenlänge (sieht aus wie eine Glockenkurve mit Zentrum bei grün). Nunja, wichtig ist eigentlich nur, dass man jede Farbe durch ein Zahlen-Tripel (X,Y,Z) beschreiben kann. Es gibt an, wie stark die einzelnen Funktionen x(lambda), y(lambda) und z(lambda) zu dem Power-Spektrum einer Farbe beitragen! Diese Zahlen-Tripel wurden bereits 1931 für jede Wellenlänge bestimmt und 1974 nochmal mit moderneren Mitteln nachgemessen. Sie heißen CIE-Koeffizienten. Es gibt ganze Tabellenwerke dafür. Unter anderem auch im Internet:

http://www.research.microsoft.com/~hollasch/cgindex/…

Das Schöne ist nun, dass man diese bekannten CIE-Werte in RGB-Werte umrechnen kann. Es ist einfach eine Matrix-Multiplikation:

R +3.240479 -1.537150 -0.498535 X
G = -0.969256 +1.875992 +0.041556 \* Y
B +0.055648 -0.204043 +1.057311 Z

Gültige Resultate für RGB liegen zwischen 0 und 1. Es kann sein, dass negative Werte oder Werte größer als 1 herauskommen. Das bedeutet nur, dass diese Farbe nicht mit RGB-Monitoren dargestellt werden kann, obwohl unser Auge sie sehen kann! Hier musst du dann entsprechend „abschneiden“. Liegen die Werte allerdings zwischen 0 und 1, musst du sie auf den Bereich [0-255,0-255,0-255] hochskalieren (bei 24 bzw. 32 Bit Farbtiefe) bzw. auf [0-32,0-64,0-32] (bei 16 Bit, grün hat ein Bit mehr, weil unser Auge besonders empfindlich darauf reagiert).

Also, alles was du brauchst, ist eine detailierte CIE-Tabelle.

cu Stefan.

Das hatte ich gesucht!!
Hi Stefan,

vielen Dank für die Antwort! Die CIE-Werte der Spektralfarben sind ja zu bekommen.

Ich möchte eine Frequenztabelle der Sichtbaren Oktave von Licht mit den zugehörigen Regenbogenfarben (als Bildschirmdarstellung) bei 100% Farbsättigung illustrieren. Die nicht in RGB darstellbaren Farben des Regenbogens werde ich dann also kennzeichnen und durch subjektiv ähnliche Farben ersetzen.

Interessant, dass wir ziemlich genau eine Oktave (Frequenzverdopplung) an Lichtfrequenzen sehen können. D. h., wir haben zu jedem musikalischen Ton ein Farbpendant. Ob es da wohl im Gehirn in der Wahrnehmung dieser unterschiedlichen physikalischen Schwingungsformen eine gemeinsame Interpretations(Empfindungs-)ebene gibt?

Liebe Grüße
Wolfgang

P.S.: Wo stammt die Formel eigentlich her?

Hi
[…]

Interessant, dass wir ziemlich genau eine Oktave
(Frequenzverdopplung) an Lichtfrequenzen sehen können. D. h.,
wir haben zu jedem musikalischen Ton ein Farbpendant. Ob es da
wohl im Gehirn in der Wahrnehmung dieser unterschiedlichen
physikalischen Schwingungsformen eine gemeinsame
Interpretations(Empfindungs-)ebene gibt?

Hmm, zunächst würde ich mal folgendes überlegen: UV-licht schädigt unsere zellen und wird glücklicherweise durch die ozonschicht weitgehend ausgefiltert - im kurzqwelligen gibt es also fast nichts zu sehen (die ausnahmen sind vielleicht ein paar blumen, die von den nah-uv-sichtigen bienen wahrgenommen werden. Aber das ist noch nicht soweit vom sichtbaren licht weg.)
In die andere richtung gäbe es noch IR - also wärmestrahlung. Dafür haben wir andere sensoren (Schon mal die finger verbrannt? :wink: ).
Zugegeben, im dunklen einen räuber zu sehen, wäre schon eine feine sache, aber ein ir-transparentes auge mit entsprechenden „sensor“-molekülen wäre sehr aufwendig. Die energie des IR-Lichtes reicht zwar aus, um molekülschwingungen anzuregen, aber ob sich eine ähnliche funktionalität wie die des retinals chemisch konstruieren läßt? Ich glaube nícht.

Also meine vermutung: Im kurzwelligen gibt es außer ein paar blumen nicht zu sehen, was man im visuellen nicht auch schon sieht. Deshalb lohnt sich biologisch betrachtet ein solches sinnesorgan für uns nicht.
Im langwelligen dürften es dagegen immense „technische“
schwierigkeiten sein, denen sich die natur gegenübersieht Flapsig gesagt: Für ein einfaches detektormolekül haben IR-quanten eine zu geringe energie. Außerdem müßten das sinnesorgan wohl entsprechend gekühlt werden, um die hintergrundstrahlung des eigenen schwarzen körpers (=beute) auszublenden, da die interessante information von einem schwarzen strahler (=räuber) gleicher temperatur ausgestrahlt wird.
Einen evolutionsvorteil würde natürlich eine gute nachtsichtfähigkeit schon bringen…

Dass es sich dabei um eine oktave handelt?
Zufall?

Grüße Robert

Hi Wolfgang :wink:))

vielen Dank für die Antwort! Die CIE-Werte der Spektralfarben
sind ja zu bekommen.

Ja, es gibt nur eine Sache, die ich noch vergessen hatte. Die Umrechnungsmatrix für CIE->RGB kann evtl. andere Koeffizienten haben. Diejenige aus meinem vorigen Posting ist ein gutes Mittelding für moderne CRT-Monitore. Wenn du im Internet suchst, wirst du vermutlich noch andere Transformationsmatrizen finden. Ich habe früher mal 4 von ihnen implementiert und mit bloßem Auge keinen Unterschied im generierten Farbbild gesehen. Die Bestimmung einer solchen Matrix hängt nämlich von vielen Parametern ab: Bildröhrentyp, Leuchtkraft des Monitors, Grafikkarte, … Im Kern geht es darum, die CIE-Koeffizienten für das maximale RGB-Rot (255,0,0), für das maximale RGB-Grün (0,255,0) und für maximale RGB-Blau (0,0,255) eines Monitors zu bestimmen. Mit diesen Werten kann dann die Transformationsmatrix berechnet werden (Das RGB-System beschreibt ein Dreieck innerhalb des CIE-Hufeisens). Und diese können z.T. erheblich variieren!

Ich möchte eine Frequenztabelle der Sichtbaren Oktave von
Licht mit den zugehörigen Regenbogenfarben (als
Bildschirmdarstellung) bei 100% Farbsättigung illustrieren.
Die nicht in RGB darstellbaren Farben des Regenbogens werde
ich dann also kennzeichnen und durch subjektiv ähnliche Farben
ersetzen.

Ja, ich würde negativen RGB-Koeffizienten den Wert 0 zuordnen und oben (nach dem Skalieren) bei 255 abschneiden!

Interessant, dass wir ziemlich genau eine Oktave
(Frequenzverdopplung) an Lichtfrequenzen sehen können. D. h.,
wir haben zu jedem musikalischen Ton ein Farbpendant. Ob es da
wohl im Gehirn in der Wahrnehmung dieser unterschiedlichen
physikalischen Schwingungsformen eine gemeinsame
Interpretations(Empfindungs-)ebene gibt?

Die verschiedenen Areale unseres Gehirn arbeiten nicht unabhängig voneinander, sondern werden irgendwie getaktet. Die Taktfrequenz liegt vermutlich bei 20 bis 80 Hertz, das ist noch nicht genau raus. Das heißt, die Informationen in unserem Gehirn werden in bestimmten Regionen verarbeitet, und 20- bis 80-mal pro Sekunde tauschen die Gehirnregionen Informationen untereinander aus! Wir wissen heute, dass uns diese Taktung empfänglich macht für Musik. Wenn Probanden im Kernspin-Tomographen Musik hören, beobachtet man eine Änderung in der Art, wie die Gehirnregionen miteinander komunizieren. Warum wir aber gerade Wellenlängen von 380nm bis 780nm sehen können? Ich weiss es nicht. Vielleicht hängt das wirklich auch mit dem internen Takt in unserem Gehirn zusammen (den man bei Tieren übrigens auch gefunden hat), vielleicht ist es aber auch einfach nur Zufall.

cu Stefan.