PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Verteilung von Farbe im RGB-Würfel


aths
2005-06-10, 14:13:33
Ich habe mal einige Tests mit Fotos gemacht. Die Bilder sind Projektionen von bestimmten Seitenflächen des RGB-Würfels, sie zeigen von links nach rechts die folgenden Achsen (X, Y):

(Red, Green)
(Blue, Green)
(Red, Blue)

jeweils von (0, 0) links unten bis (1, 1) rechts oben. Das helle Gitter teilt die Darstellung in 0,25-Schritte für lineares RGB ein. Da jedoch Fotos untersucht wurden, habe ich auch mal die 0,5-Linie für sRGB mit der dunkleren Graustufe dargestellt.

Die letzten drei Bilder können angeklickt werden um das analysierte Foto zu sehen (ok, es sind JPEG-Versionen der BMP-Bilder, die tatsächlich untersucht wurden.) (Bei den ersten drei Diagrammen habe ich vergessen, welche Fotos ich dafür nahm.)

http://www.dudv.net/files/3d/rgb-analyse/1.png


http://www.dudv.net/files/3d/rgb-analyse/2.png


http://www.dudv.net/files/3d/rgb-analyse/3.png


http://www.dudv.net/files/3d/rgb-analyse/4.png (http://www.dudv.net/files/3d/rgb-analyse/4.jpg)

Die abgesetzte "Nebengalaxie" ist der blaue Hintergrund des Verkehrsschildes. Klick auf das Diagramm um das Bild zu sehen.



http://www.dudv.net/files/3d/rgb-analyse/5.png (http://www.dudv.net/files/3d/rgb-analyse/5.jpg)


http://www.dudv.net/files/3d/rgb-analyse/6.png (http://www.dudv.net/files/3d/rgb-analyse/6.jpg)


Abgesehen von einigen Ausreißern sind die meisten Pixel farblich in der Nähe der Unbunt-Diagonale. Das finde ich interessant, vor allem wenn man YCbCr nutzen möchte. Hier sind einige CbCr-Flächen für bestimmte Y-Werte:

http://www.dudv.net/files/3d/rgb-analyse/ycbcr-reihe_wm.png

Wie man sieht, liegt der YCbCr-Würfel nur teilweise im RGB-Würfel. (Von den 16777216 möglichen Werten mit YCbCr 888 liegen nur 3918122 innerhalb des RGB-[0..1]-Würfels! Das ist weniger als 24%.) Man könnte daher ansetzen:

- Für einen Yab-Raum eine "gute" Umrechungsmatrix suchen (also andere Gewichtungen als für YCbCr) und zwar for jedes einzelne Bild (bzw. für jede Textur) und die Matrix zusammen mit dem Bild (bzw. der Textur) speichern. Der Ansatz hat Ähnlichkeiten mit der NCC-Palettenkomprimierung.

- Je nach tatsächlicher Verteilung der Farbwerte eine feinere Quantisierung für schwach gesättigte ab-Werte nutzen. Stellt man ab-Komponenten im Bereich von -0,5 .. 0,5 dar, braucht man die feinere Auflösung also um die Null.

Zool
2005-06-22, 09:06:04
Das Umrechnen zwischen diversen Farbräumen ist wirklich eine Wissenschaft für sich. Nicht umsonst hat der Anwender auch so große Probleme, wenn er ein RGB-Bild seiner Digicam ordentlich mittels CMYK-System farbecht auf seinen Drucker ausgeben will. Selbst Farbprofile sind da oft nur eine schlechte Aproxmimation