Normalerweise werden Bilddaten unter Windows in einem RGB-Farbraum mit Angaben von R,G,B zwischen 0 und 255 dargestellt, wobei 0 schwarz und 255 weiß entspricht. Dagegen ist es häufig unklar, wie dazwischenliegende Helligkeitswerte am Bildschirm dargestellt oder gedruckt werden müssen.
Bei der Darstellung eines Photos am Bildschirm machen sich die Eigenschaften der Bildröhre bemerkbar. Die Helligkeit eines Bildpunktes wächst nicht linear mit der vom Computer vorgegebenen Strahlungsintensität, sondern steigt im unteren Helligkeitsbereich langsamer an als im oberen Bereich.
Bei der Darstellung eines Photos auf einem Drucker macht sich meist der "Punktwertzuwachs" bemerkbar der dadurch entsteht, dass ein Pixel des Druckers auf dem Papier meist größer ist als der dazu vorgesehene Platz, so dass das Bild im mittleren Bereich zu dunkel dargestellt wird.
Beim Scannen von Bildern können ebenfalls nichtlineare Verzerrungen auftreten, die häufig bereits während des Scan-Vorgangs vom Scanner berücksichtigt werden können.
Darüberhinaus "sieht" das menschliche Auge Bilddaten in einem logarithmischen Maßstab, d.h. eine Helligkeitsänderung muss ca. 1% des Vergleichswertes ausmachen, damit das Auge den Unterschied wahrnehmen kann. Wenn Bilder in einer anderen Helligkeit angezeigt werden sollen, als zum Zeitpunkt ihrer Aufnahme herrschte, verursacht dies eine leichte Verschiebung der Darstellung von hellen Bildbereichen und solchen von mittlerer Helligkeit.
Als Standard zur Korrektur dieses Fehlverhaltens hat sich die "Gamma-Korrektur" gemäß folgender Formel durchgesetzt:
(1/gamma) |
L' = |
L |
mit: |
L = Nicht korrigierter Helligkeitswert, normiert auf Werte 0.0..1.0 |
|
L'= Korrigierter Helligkeitswert, normiert auf Werte 0.0..1.0 |
|
gamma = Korrekturfaktur, für Bildschirme ca. 1.5-1.9 |
|
Berücksichtigung der Gamma-Korrektur |
|
Da das "ideale" RGB-Koordinatensystem auf keinem Ausgabegerät unmittelbar korrekt dargestellt werden kann, werden in vielen Fällen Bilder bereits Gamma-korrigiert zur Verfügung gestellt. Eine nochmalige Gamma-Korrektur würde diese Bilder überkompensiert darstellen. Außerdem kann es vorkommen, dass Bilder vorkorrigiert geliefert werden, die Vorkorrektur aber nicht dem eigenen Bildschirm oder Drucker entspricht. |
|
Als Hilfsmittel zur korrekten Gamma-Korrektur des Bildschirms oder Druckers kann eine Grafik verwendet werden, die zwei Felder enthält: Ein Feld mit abwechselnd weißen und schwarzen Punkten (Mittelwert = 50 %) und ein Feld mit einem durchgehend grauen Balken (Helligkeitswert = 50 %). Werden beide Felder am Bildschirm mit gleicher Helligkeit dargestellt, so ist die Anzeige korrekt geeicht. |
|
Eine solche Grafik wird unter dem Dateinamen GAMMA.BMP mit DaVinci mitgeliefert. |
|
Umsetzung in Leonardo |
|
Da die Berechnung der Potenzfunktion eine etwas langsamere Funktion ist, errechnet ein Anwendungsprogramm basierend auf Leonardo zunächst eine Tabelle zur Zuordnung des unkorrigierten Helligkeitswertes zum korrigierten Helligkeitswert als Array von 1-Byte-Werten (BYTE) mit der Funktion GammaCorrectionGetArray. |
|
Vor der Ausgabe der DIB-Grafik auf dem Bildschirm oder Drucker verwendet die Applikation die Funktion GammaCorrectionApplyToDIB um die Pixelfarben der DIB vor der Ausgabe zu verändern. Alternativ kann das mit GammaCorrectionGetArray berechnete Array auch der Funktion DitherTo1 als zusätzlicher Parameter angegeben werden. |
|
Umsetzung in Microsoft Windows NT |
|
Unter Microsoft Window NT kann die Gamma-Korrektur bei der Ausgabe einer DIB auf den Bildschirm mit StretchDIBits bzw. StretchDIBBlt direkt vom GDI durchgeführt werden. Dazu wird mit einem Aufruf von SetStretchBltMode der HALFTONE-Modus aktiviert, um dann mit SetColorAdjustment den Gamma-Wert einzustellen. Das aktivieren des HALFTONE-Modus ist zur Verwendung der Gamma-Korrektur notwendig und beeinflußt die Ausgabe von bereits gerasterten 256-Farben DIBs negativ, da sie noch ein zweites mal gerastert werden. Diese Technik wird von Windows 95/98/ME nicht unterstützt |
|
Weitere Informationen zur Gamma-Korrektur |
|
ftp://ftp.inforamp.net/pub/users/poynton/doc/colour/gamma.pdf |
|
ftp://ftp.igd.fhg.de/pub/doc/colour/gamma.pdf |