• Neuer Gutscheincode unseres Partners Schutzfolien24:
    DSLR-Forum2025
    Dauerhaft 10% Rabatt auf alle Displayschutzfolien und Schutzgläser der Eigenmarken
    "Upscreen", "Screenleaf", BROTECT" und "Savvies".
    Der Code ist für alle Geräteklassen gültig.
  • Stimmt ab über die Sieger des DSLR-Forum Fotowettbewerbs August 2025.
    Thema: "Kurven"

    Nur noch bis zum 31.08.2025 23:59!
    Jeder darf abstimmen!
    Zur Abstimmung und Bewertung hier lang
  • In eigener Sache!

    Liebe Mitglieder, liebe Besucher und Gäste
    ich weiß, es ist ein leidiges Thema, aber ich muss es ansprechen: Werbung, Werbeblocker und Finanzierung des Forums.
    Bitte hier weiterlesen ...

  • Nicht erreichbare Adressen im Benutzerkonto
    Wir bekommen zurzeit eine große Anzahl an E-Mails, die das System zum Beispiel als Benachrichtigungen an Nutzer verschickt,
    als unzustellbar zurück, weil z.B. die Adressen nicht erreichbar sind oder das Postfach gar nicht existiert.
    Stellt doch bitte sicher, dass die Benachrichtigungen, die ihr vom System erwartet, auch zugestellt werden können.
    Nicht erreichbare E-Mail-Adressen sind dazu wenig hilfreich.
    Danke!
WERBUNG

Gammakorrektur - RAW

Jo Sven

Themenersteller
Liebe Forumler,

irgendwie bin ich verwirrt in Bezug auf die Gammakorrektur, wie sie vom Raw-Konverter beim Erzeugen eines .jpgs aus dem RAW-Bild angebracht wird.

Man liest ja gemeinhin, dass die Sensoren der Digitalkameras linear arbeiten. Meist heißt es dann, dass eine Gamma-Korrektur erfolgen muss, da dies für unser Auge eben nicht zutrifft (d.h. das Auge arbeitet nichtlinear).

Diese Argumentation kann ich nicht nachvollziehen. Angenommen, ich hätte einen Monitor, der ebenfalls exakt linear arbeitet. In diesem Fall wäre es doch wünschenswert, dass die angezeigten Bildinformationen ebenfalls linear in Bezug auf das ursprüngliche Motiv sind (das heißt, wenn ich das richtig verstehe, dass sie ein Gamma von 1 haben). Denn nur in diesem Fall würde mein Auge auf dem Bildschirm genau die relativen Helligkeiten sehen, die auch das Motiv hatte, oder?

Mir ist nun klar, dass auch Monitore nicht linear arbeiten. Dies muss also (imho im Gegensatz zur Charakteristik des Auges) natürlich für eine korrekte Anzeige beachtet werden. Ist es vielleicht in Wahrheit das, was der Raw-Konverter tut?

Wäre super, wenn mir jemand sagen könnte, wo mein Denkfehler liegt. Ich freue mich auf Eure Antworten!

Und Entschuldigung, falls dies schon einmal diskutiert wurde, aber ich habe in der Suche nirgends eine konkrete Antwort zu dieser Frage gefunden.

Gruß,

Sven
 
Der RAW Konverter macht generell das, was du in ihm einstellst.
Beim Phase One kannst du die Gradationskurve für jeden einzelnen Kanal einzeln justieren und spreizen.
Du kannst dann noch bestimmete Frequenzbereiche gezielt anheben oder absenken.
Das alles ist am Anfang ziemlich unüberischtlich.
Ohne einen hochwertigen und eingemessenen Monitor bekommst du aber unter Umständen ein Druckergebnis, dass dem am Monitor bestenfalls vom Motiv her ähnelt.
 
Mir ist nun klar, dass auch Monitore nicht linear arbeiten. Dies muss also (imho im Gegensatz zur Charakteristik des Auges) natürlich für eine korrekte Anzeige beachtet werden. Ist es vielleicht in Wahrheit das, was der Raw-Konverter tut?
Ganz genau so ist es. Du hast das ganz richtig analysiert.

Übrigens ist die Einrechnung des Gammawertes in die Dateien unter Fachleuten nicht unumstritten. Im Zeitalter des Farbmanagements könnte man die Dateien auch linear lassen, was für bestimmte Bildbearbeitungsschritte sogar Vorteile hätte; die Anpassung an das Monitorgamma erfolgt ja im Farbmanagement sowieso.

Mit dem "Augen-Gamma" hat es überhaupt nichts zu tun; das wird nur immer als wackeliger Vergleich herangezogen.
 
irgendwie bin ich verwirrt in Bezug auf die Gammakorrektur, wie sie vom Raw-Konverter beim Erzeugen eines .jpgs aus dem RAW-Bild angebracht wird.
Geht vielen so, nur sagen es die wenigsten so ehrlich ... ;)

Man liest ja gemeinhin, dass die Sensoren der Digitalkameras linear arbeiten. Meist heißt es dann, dass eine Gamma-Korrektur erfolgen muss, da dies für unser Auge eben nicht zutrifft (d.h. das Auge arbeitet nichtlinear).
Es geht nicht darum, das Signal für unsere Augen aufzuarbeiten, denn die Augen wären völlig damit zufrieden, wenn Du ein linear abgetastetes Bild auf einem ebenso linear ausgebenden Gerät wieder ausgeben würdest. Die nicht-lineare Arbeitsweise des Auges findet in Natura ebenso statt, wie bei der Betrachtung eines Monitorbildes.

Das Problem ist, dass man für die Bildausgabe an einem analogen Monitor (VGA-Signal war/ist ein Analogsignal) dessen Monitor-Gamma berücksichtigen muss. Um nicht den Speicherbedarf drastisch zu erhöhen und um eine Vergleichbarkeit zwischen verschiedenen Computerplattformen zu erzielen, einigte man sich bei der JPEG-Definition auf einen Farbraum namens sRGB. In diesem Farbraum sind Helligkeitsstufen bereits nicht mehr linear angelegt und es ist eine Farbtiefe von lediglich 8 Bit pro Farbkanal angelegt. Damit man in die 8 Bit eine etwas höhere Eingangsdynamik hineinbekommt, werden linear skalierende Intensitätswerte zu den Lichtern hin mit flacherer Gradation kodiert, so dass in einem JPEG bei Standardeinstellungen für Helligkeit, Kontrast und Farbsättigung ca. 9-9,5 Blendenstufen Eingangsdynamik Platz finden. Durch entsprechende Einstellungen an RAW-Konverter oder auch im Kameramenue können freilich auch weniger oder mehr Eingangskontrast in den sRGB-Farbraum eines JPEG-Files nicht-linear hineinskaliert werden.

Leider bleiben solche Konventionen oft lange überlebende Relikte, selbst in einer Zeit, in der nur noch wenige mit Röhrenmonitoren arbeiten. Einige ganz anspruchsvollen Bildbearbeiter tun dies zwar teilweise noch, nutzen dann aber auch schon meist andere Farbräume. Das Monitorgamma (2,2-2,4) selbst rührte lediglich daher, dass man zu Zeiten analoger Signalverarbeitung eine Umrechnungsoperation brauchte, die das Analogsignal einer Aufzeichnungsröhre (z.B. SW-Fernsehkamera) so korrigiert, dass es am analogen Eingang eines Röhrenmonitors angelegt zu einer Graustufenskala kommt, die der aufgenommenen Graustufenskala weitestgehend gleicht.
 
Vielen Dank für Eure schnellen und kompetenten Antworten! Manchmal muss man eben nur die richtigen Leute fragen :-)
 
Hallo nochmal,

mittlerweile ist mir doch noch ein Punkt an der Aussage von Mi76 unklar:

Angenommen ich habe ein Raw-Image linear (d.h. ohne Gammakorrektur) in ein jpg konvertiert. Nun habt Ihr mir erklärt, dass letzteres dann im sRGB Farbraum definiert ist und dass darin die Helligkeitsstufen nicht mehr linear verteilt sind. Bedeutet das nun, dass eine doppelt so helle Fläche meines Motives im Foto nun nicht zur doppelten Helligkeit der entsprechenden Pixel führt?

Und wenn das so ist: Wie müsste ich vorgehen, um einen linearen Zusammenhang zwischen Objekt- und Bildhelligkeit sicherzustellen?

Nochmals vielen Dank für Eure Hilfe,

Sven
 
Hallo Mi67,

ich habe ein solches, linear konvertiertes jpg vorliegen. Allerdings kann ich daran nicht meine Frage beantworten, da ich ja keine quantitative Aussage über die Helligkeiten meines Motives habe. Letztere möchte ich quasi erst aus dem Bild bestimmen, aber das geht natürlich nur, wenn auch im jpg noch immer alles linear ist. Stimmt das?
 
Hallo Mi67,

ich habe ein solches, linear konvertiertes jpg vorliegen. Allerdings kann ich daran nicht meine Frage beantworten, da ich ja keine quantitative Aussage über die Helligkeiten meines Motives habe. Letztere möchte ich quasi erst aus dem Bild bestimmen, aber das geht natürlich nur, wenn auch im jpg noch immer alles linear ist. Stimmt das?
Leider nicht, denn das JPEG ist in seiner Farbtiefe gar nicht geeignet, die komplette Bildinformation aufzunehmen. Hierfür müsstest Du das RAW linear in ein 16-bit TIFF wandeln. Im Tiff hättest Du dann die Quantifizierbare Helligkeitsinformation. Alternative lineare RAW-Konversion nach TIFF, die auch gleich die Farbinterpolation auslassen kann, geht z.B. mit der Astro-Software "IRIS".
 
Leider nicht, denn das JPEG ist in seiner Farbtiefe gar nicht geeignet, die komplette Bildinformation aufzunehmen. Hierfür müsstest Du das RAW linear in ein 16-bit TIFF wandeln. Im Tiff hättest Du dann die Quantifizierbare Helligkeitsinformation. Alternative lineare RAW-Konversion nach TIFF, die auch gleich die Farbinterpolation auslassen kann, geht z.B. mit der Astro-Software "IRIS".

Hmm, meiner Ansicht nach geht bei einer gammalosen Konvertierung nur Informationstiefe, aber nicht die grundsätzliche Verteilung verloren. Beispielsweise ist die Schattierung 2048/2049 weg, aber 2048 liegt nach der Konvertierung auf 128, so dass die Proportion erhalten blieb.

Allerdings muss auch beachtet werden, dass die Konverter gerne noch strecken, d. h. wenn Messwerte von 76 bis 3353 vorhanden sind, werden die auf 0 - 4096 verteilt und dann wieder auf 0-255 (um den Kontrast zu verstärken).

dcraw ist das Mittel der Wahl, wenn man sich mal ein wenig in die tatsächlichen Daten reinwühlen möchte.
 
Hmm, meiner Ansicht nach geht bei einer gammalosen Konvertierung nur Informationstiefe, aber nicht die grundsätzliche Verteilung verloren. Beispielsweise ist die Schattierung 2048/2049 weg, aber 2048 liegt nach der Konvertierung auf 128, so dass die Proportion erhalten blieb.

Allerdings muss auch beachtet werden, dass die Konverter gerne noch strecken, d. h. wenn Messwerte von 76 bis 3353 vorhanden sind, werden die auf 0 - 4096 verteilt und dann wieder auf 0-255 (um den Kontrast zu verstärken).

Leider fast komplett daneben. Du beachtest nicht, daß

  • Schwarz mit einem Wert um die 120 kodiert wird
  • Das ca. 2 bits allein als Übersteuerungsreserve für hellere Farben als Weiß draufgehen.
  • Bei Tone Priority sind es ca. 3 bit.
  • Weiterhin vernachlässigst Du das Umrechnen zwischen dem Farbraum des Sensors und dem sRGB-Farbraum.
  • Das Gamma des Monitors berücksichtigst Du nicht.
  • Das Darstellen von helleren Farbtönen als Weiß berücksichtigst Du nicht.

So mal als Hausnummern:

0%Schwarz = Raw (120, 120, 120) = RGB (0, 0, 0)
4,5%Grau = Raw (142, 165, 152) = RGB (22, 22, 22)
18%Grau = Raw (210, 300, 245) = RGB (70, 70, 70)
100%Weiß = Raw (620, 1020, 820) = RGB (180, 180, 180)
200%Weiß = Raw (1120, 2120, 1520) = RGB (235, 235, 235)
400%Weiß = Raw (2100, 4095, 2900) = RGB (255, 255, 255)

Trotz 2 bit Headroom gibt es IMMER noch genug Ärger mit geclipptem Himmel. Oder bei Spotbeleuchtung mit geclippter Haut.

dcraw ist das Mittel der Wahl, wenn man sich mal ein wenig in die tatsächlichen Daten reinwühlen möchte.
Exakt.
 
Leider fast komplett daneben. Du beachtest nicht, daß

  • Schwarz mit einem Wert um die 120 kodiert wird
  • Das ca. 2 bits allein als Übersteuerungsreserve für hellere Farben als Weiß draufgehen.
  • Bei Tone Priority sind es ca. 3 bit.
  • Weiterhin vernachlässigst Du das Umrechnen zwischen dem Farbraum des Sensors und dem sRGB-Farbraum.
  • Das Gamma des Monitors berücksichtigst Du nicht.
  • Das Darstellen von helleren Farbtönen als Weiß berücksichtigst Du nicht.

So mal als Hausnummern:

0%Schwarz = Raw (120, 120, 120) = RGB (0, 0, 0)
4,5%Grau = Raw (142, 165, 152) = RGB (22, 22, 22)
18%Grau = Raw (210, 300, 245) = RGB (70, 70, 70)
100%Weiß = Raw (620, 1020, 820) = RGB (180, 180, 180)
200%Weiß = Raw (1120, 2120, 1520) = RGB (235, 235, 235)
400%Weiß = Raw (2100, 4095, 2900) = RGB (255, 255, 255)

Trotz 2 bit Headroom gibt es IMMER noch genug Ärger mit geclipptem Himmel. Oder bei Spotbeleuchtung mit geclippter Haut.

Da ich hier einen selbstgeschrieben RAW-Entwickler habe, interessieren mich primär erst mal die reinen Messwerte, die der Sensor liefert. Alle von Dir beschriebenen Parameter stellen eine bestimmte (allgemein übliche) Form der Interpretation dieser Messwerte dar, die aber je nach Anwendungszweck mehr oder minder sinnvoll ist.

Wenn ich beispielsweise gar keine Farben haben möchte, kann ich mir den Fehlerfaktor "Umrechnung nach sRGB" sparen.
 
Da ich hier einen selbstgeschrieben RAW-Entwickler habe, interessieren mich primär erst mal die reinen Messwerte, die der Sensor liefert.

Das sind die Zahlen hinter dem RAW: Drei 12 bit Zahlen, die die ADC-Werte auf den Rot-, Grün- und Blaupixeln repräsentieren.

Alle von Dir beschriebenen Parameter stellen eine bestimmte (allgemein übliche) Form der Interpretation dieser Messwerte dar, die aber je nach Anwendungszweck mehr oder minder sinnvoll ist.
Ich habe keine Parameter beschrieben, sondern Bespielwerte angegeben, wie aus Werten des Sensors Werte in der Graphikkarte werden, d.h. genau den Prozeß mit Beispielen belegt, über den Du grundlegend falsche Vorstellungen hast.

Wenn ich beispielsweise gar keine Farben haben möchte, kann ich mir den Fehlerfaktor "Umrechnung nach sRGB" sparen.
Die Umrechnung kann man sich bei exakt einer Bedingung ersparen: Der Monitor ist ausgeschaltet.

Zum Verständnis sollte man durchgelesen und verstehen:

 
Ich habe keine Parameter beschrieben, sondern Bespielwerte angegeben, wie aus Werten des Sensors Werte in der Graphikkarte werden, d.h. genau den Prozeß mit Beispielen belegt, über den Du grundlegend falsche Vorstellungen hast.

Die Umrechnung kann man sich bei exakt einer Bedingung ersparen: Der Monitor ist ausgeschaltet.

Zum Verständnis sollte man durchgelesen und verstehen:

Vielleicht reden wir nur aneinander vorbei. Ich habe hier ein Programm, mit dem lese ich ein RAW vierpixelweise aus (also die Bayer-Gruppe) und mache eine simple, bilineare Interpolation. Dabei kann ich mit den Zahlenwerten anstellen, was ich will. Wenn ich einfach nur die Werte von 0-4095 auf 0-255 mappe, bekomme ich ein gammaloses Bild ohne jedwede Farbraumumrechnung, weil ich ja nichts dergleichen gemacht habe.
 
Wenn ich einfach nur die Werte von 0-4095 auf 0-255 mappe, bekomme ich ein gammaloses Bild ohne jedwede Farbraumumrechnung, weil ich ja nichts dergleichen gemacht habe.
Wie mappst Du diese Werte denn ganz praktisch? Ein Mal alles geteilt durch 16 (gleichbedeutend mit Bitshift um 4 Bits)? Falls nein, welche Operation kommt dann zum Einsatz?
 
WERBUNG
Zurück
Oben Unten