Hallo zusammen, hab das hier n bisschen durchforstet, habe aber nichts gefunden, was mir wirklich hilft. Ich habe das Problem, dass ich aus RGB Primärvalenzen XYZ Werte errechnen will. Probiert habe ich das ganze mal am Adobe-RGB Farbraum (1998) mit folgenden Primärvalenzen: Rot Grün Blau Weiß (D65) x 0,640 0,210 0,150 0,3127 y 0,330 0,710 0,060 0,3290 z 0,030 0,080 0,790 0,3583 Jetzt will ich daraus die Matrix aufstellen und geh dabei nach folgender Seite vor: http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html Mein Problem ist: Ich komme nicht auf die gegebene Umrechnungsmatrix von 0.5767309 0.1855540 0.1881852 0.2973769 0.6273491 0.0752741 0.0270343 0.0706872 0.9911085 sondern auf eine Matrix, die ungefähr um den Faktor 3,04 daneben liegt und finde den Fehler einfach nicht. Hat jemand ne Idee woran das liegen könnte? Vielen Dank im Voraus KlausMausi
Hast du auch nicht vergessen, im letzten Schritt, bei der Berechnung von [S] = [X] * [Xwhite] die Matrix [X] zu invertieren?
Nope, Matrix wurde invertiert. Mich wundert halt, dass es ein Faktor ist, um den die gesamte Matrix falsch ist. Oder hast du das grade durchgerechnet und kommst auf die Matrix, weil dann weiß ich wirklich nicht mehr weiter, wo mein Fehler liegt. Kann ansonsten gleich mal den gesamten Rechenweg posten
KlausMausi schrieb: > Oder hast du das grade durchgerechnet und kommst auf die Matrix Nope. Aber aus Erfahrung weiß ich, dass man das kleine -1 da ganz gerne übersieht. > dann weiß ich wirklich nicht mehr weiter, wo mein Fehler liegt. Kann > ansonsten gleich mal den gesamten Rechenweg posten Das wär sowieso das gescheiteste.
Also: ausgehend von Rot Grün Blau Weiß (D65) x 0,640 0,210 0,150 0,3127 y 0,330 0,710 0,060 0,3290 z 0,030 0,080 0,790 0,3583 komme ich auf Rot Grün Blau X 64/33 21/71 5/2 Y 1 1 1 Z 1/11 8/71 79/6 Dann ergibt sich für den S-Vektor Sr = 0.09782649686 Sg = 0.2064026133 Sb = 0.02477088984 Daraus folgt als Matrix M (auf vier Stellen gerundet) 0.1897 0.0610 0.0619 M= 0.0978 0.2064 0.0248 0.0089 0.0233 0.3262 Folgende Faktoren ergeben sich: Im Vergleich mit der Matrix, die eigentlich rauskommen sollte, ergibt sich dann [errechnete Matrix] * (3.04) = [gegebene Matrix]
KlausMausi schrieb: > Dann ergibt sich für den S-Vektor > > Sr = 0.09782649686 > Sg = 0.2064026133 > Sb = 0.02477088984 Ich krieg da andere Werte raus Xr = 0.64/0.33 = 1.93 Yr = 1 Zr = (1 - 0.64/0.33 - 0.33)/0.33 = -3.84 Xg = 0.21/0.71 = 0.29 Yg = 1 Zg = (1 - 0.21/0.71 - 0.71)/0.71 = -0.0081 Xb = 0.15/0.06 = 2.5 Yb = 1 Zb (1 - 0.15/0.06 - 0.06)/0.06 = -26 Matrix zur Berechnung von S 1.93 0.29 2.5 1 1 1 -3.84 -0.0081 -26 diese invertiert 0.7609 -0.22 0.06 -0.6487 1.188 -0.01 -0.112 0.03 -0.04 multipliziert mit dem Weiß-Vektor 0.3127 0.3290 0.3583 ergibt Sr = 0.188696 Sg = 0.182011 Sb = -0.041706
http://www.brucelindbloom.com/index.html?Eqn_ChromAdapt.html Da stehen andere Werte für Weiß (D65). Da passt der Faktor 3,04 ziemlich gut.
Karl Heinz Buchegger schrieb: > Xr = 0.64/0.33 = 1.93 > Yr = 1 > Zr = (1 - 0.64/0.33 - 0.33)/0.33 = -3.84 > > Xg = 0.21/0.71 = 0.29 > Yg = 1 > Zg = (1 - 0.21/0.71 - 0.71)/0.71 = -0.0081 > > Xb = 0.15/0.06 = 2.5 > Yb = 1 > Zb (1 - 0.15/0.06 - 0.06)/0.06 = -26 Du teilst einmal zuviel durch 0.33/0.71/0.06 also bei der Z-Koordinate, oder seh ich das falsch Z = (1 - x - y) / y und nicht (1-x/y - y)/y oder?
C. P. T. schrieb: > Da stehen andere Werte für Weiß (D65). > Da passt der Faktor 3,04 ziemlich gut. Das würde das ganze natürlich erklären, also falsche beziehungsweise scho normierte Weißwerte bei Wikipedia
KlausMausi schrieb: > Du teilst einmal zuviel durch 0.33/0.71/0.06 also bei der Z-Koordinate, > oder seh ich das falsch > > Z = (1 - x - y) / y und nicht (1-x/y - y)/y oder? Ja, da hab ich beim Abschreiben der Formeln auf den Notizblock einen Kopierfehler gemacht. Sorry.
Nur nochmal zum Endverständnis, was den Weißwert angeht handelt es sich bei dem mit Faktor 3.04 einfach nur um einen Weißabgleich?
KlausMausi schrieb: > Nur nochmal zum Endverständnis, was den Weißwert angeht handelt es sich > bei dem mit Faktor 3.04 einfach nur um einen Weißabgleich? Nein. Das ist einfach nur unterschiedlich normiert. Lindbloom normiert auf Y=1.0, Wikipedia auf (X+Y+Z) = 1.0. Da die Lindbloom-Werte (X+Y+Z) = 3.0393 sind, kommt da dein Faktor her. Viele Grüße, Simon
Simon Budig schrieb: > KlausMausi schrieb: >> Nur nochmal zum Endverständnis, was den Weißwert angeht handelt es sich >> bei dem mit Faktor 3.04 einfach nur um einen Weißabgleich? > > Nein. Das ist einfach nur unterschiedlich normiert. Vielleicht sollte ich noch dazuschreiben: Eine Skalierung des Wertes entspricht einer Intensitätsänderung. Dadurch wird kein Weißpunkt verschoben o.ä. (was bei einem Weißabgleich passiert). Viele Grüße, Simon
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.