• 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 ...

  • Neuer Partner: AkkuShop.de
    Akkus, Ladegeräte und mehr (nicht nur) für Digitalkameras und Drohnen
  • 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!
  • Stimmt ab über die Sieger des DSLR-Forum Fotowettbewerbs April 2025.
    Thema: "Plastik (Kunststoff)"

    Nur noch bis zum 30.04.2025 23:59!
    Jeder darf abstimmen!
    Zur Abstimmung und Bewertung hier lang
  • 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.
  • Unlauterer Verkäufer wieder unterwegs!

    Liebe Mitglieder,
    Florian Franzek, der seit Jahren mit verschiedensten Usernamen in allen möglichen Foren und auf etlichen Verkaufsplattformen auftritt,
    ist wieder hier im Forum und versucht, ehrliche Käufer zu betrügen.
    Wir können wenig tun, außer bei Bekanntwerden einer weiteren Registrierung eines Accounts für seine Machenschaften, diese umgehend zu sperren.
    Ich empfehle, bei Kontakt umgehend die Polizei einzuschalten.

WERBUNG

RAW Histogramm Berechnung

c_joerg

Themenersteller
Hallo,

ich versuche mich gerade in der Berechnung eines RAW Histogramms. Im Wesentlichen um ein größeres Verständnis von RAW Daten zu bekommen.

Das Ganze mache ich mit der Skriptsprache MATLAB. Grundsätzlich sollte das aber auch mit dem freien GNU Octave funktionieren.

Die RAW Daten wandle ich mit dcraw in ein lineares 16-bit TIF ohne Interpolation um, damit ich die Daten einlesen kann. Für die Metadaten benutze ich das EXIFTOOL(z.B. Blacklevel).

Das funktioniert soweit auch ganz gut. Ich komme auf die gleichen Ergebnisse wie RawDigger.

Nur eine Frage habe ich noch. Wie komme ich an den Wert für 0EV (an der EV Achse)?
Bei der EOS M3, M5, 6D und G1x liegt der immer bei 2048.

Grüße Jörg
 

Anhänge

Hallo Jörg

Ich weiss nicht, ob ich deine Frage richtig verstehe,
ich versuche dennoch zu antworten.

Um dein RAW Histogramm zu eichen, schlage ich folgendes vor.
Du fertigst ein um mehrere Blenden überbelichtetes Bild eines weissen Papiers im RAW Format an.
Mit RAW Digger (bei EV0 = 2048) kannst du dann sehr genau sehen um wieviele Blenden du nach ETTR mit der entsprechenden Kamera überbelichten kannst. Das Histogramm ist auf der rechten (hellen) Seite klar erkennbar abgeschnitten.
Beachte:
Bei EV-scale X-Axis
muss der obere Wert bei etwa 3 EV, oder höher stehen, dies damit RAW Digger das Histogramm rechts nicht beschneidet!

Dann betrachtest du dieses überbelichtete RAW mit deinem RAW Histogramm.
EV0 befindet sich dann um die oben festgestellten Blenden weiter links, wie das abgeschnittene rechte Ende des Histogramms.

Da ich meistens nach ETTR belichte habe ich für meine Nikon D810 den EV0 Wert in RAW Digger von 2048 auf 15782 erhöht, denn mit der Nikon D810 kann man um maximal 3 Blenden überbelichten.
Der EV0 Wert liegt dann bei RAW Digger 3 Blenden höher
und ich belichte dann auf etwa -1.5 bis maximal -1 EV.
Bei der Konvertierung in das 16Bit TIF Format, nehme ich dann die Helligkeit um mindestens 3 Blenden zurück.

Ich hoffe ich habe eine passende Antwort auf deine Frage gegeben.

Kurt
 
Zuletzt bearbeitet:
Hallo Kurt,

Ich weiss nicht, ob ich deine Frage richtig verstehe,

Noch nicht so ganz…


Du fertigst ein um mehrere Blenden überbelichtetes Bild eines weissen Papiers im RAW Format an.

Da kann ich genau sagen was da raus kommt. Aus 14Bit Full Scale ergibt sich 2ˆ14-1=16383.
16383-Blacklevel (2048) ist dann 14335, also genau das Maximum aus dem grünen Kanal, der leicht geklippt ist.


Mit RAW Digger (bei EV0 = 2048)
Das ist eigentlich meine Frage. Warum ist EV0 = 2048. Ein reinen default Wert? Der kommt also nicht aus einem Wert in den RAW Daten?

den EV0 Wert in RAW Digger von 2048 auf 15782 erhöht,
Das war mit gar nicht bewusst, dass man diesen Wert einfach verschieben kann.


Da ich meistens nach ETTR belichte habe ich für meine Nikon D810 den EV0 Wert in RAW Digger von 2048 auf 15782 erhöht,

Wie kommst du auf 15782?
16383 – 15782 = 601. Ist das der Blacklevel der Nikon D810?

Ich hoffe ich habe eine passende Antwort auf deine Frage gegeben.

Nicht ganz aber zumindest erst mal weiter geholfen…
 
Der blacklevel steht in der RAW Datei, findest Du im dcraw source code.

dcraw ist aber tot. Kameras nach 2015 sind nicht mehr unterstützt.

LG,
Karl-Heinz
 
Der Default EV0 Wert bei RAW Digger (soweit ich das weiß) ist immer drei EV von Rechts nach Links bezogen auf die Bit Tiefe des RAW´s.

Also ein 16 Bit RAW hat als Default EV0 Wert immer 8192, ein 14 Bit RAW hat 2048 und ein 12 Bit RAW hat einen EV0 Wert von 512.


Gruß Gerd
 
Das Ganze mache ich mit der Skriptsprache MATLAB. Grundsätzlich sollte das aber auch mit dem freien GNU Octave funktionieren.

Die RAW Daten wandle ich mit dcraw in ein lineares 16-bit TIF ohne Interpolation um, damit ich die Daten einlesen kann.

Deutlich eleganter gehts m.E. mit dem freien Python. Das hat mit dem Modul Rawpy einen libraw-Port, mit dem man das Raw direkt einliest. Das Pylab-Modul bietet dann ähnliche Anzeigemöglichkeiten wie Matlab.

Nur eine Frage habe ich noch. Wie komme ich an den Wert für 0EV (an der EV Achse)?
Bei der EOS M3, M5, 6D und G1x liegt der immer bei 2048.

Mach eine Belichtungsreihe von einer Graufläche mit definierter Helligkeit. Die kannst du dann zusätzlich verwenden, um die Dynamik deiner Kamera zu berechnen. Unten ein Beispiel:
 

Anhänge

Zuletzt bearbeitet:
Also ein 16 Bit RAW hat als Default EV0 Wert immer 8192, ein 14 Bit RAW hat 2048 und ein 12 Bit RAW hat einen EV0 Wert von 512.
So konnte ich das bisher auch sehen…

Deutlich eleganter gehts m.E. mit dem freien Python. Das hat mit dem Modul Rawpy einen libraw-Port, mit dem man das Raw direkt einliest. Das Pylab-Modul bietet dann ähnliche Anzeigemöglichkeiten wie Matlab.

Einfacher und eleganter ist immer das, was man schon hat und seit Jahren benutzt. Und zwei Aufrufe in MATLAB sind sicherlich nicht umständlich.

Vermutlich könnte ich die libraw auch direkt in MATLAB einbinden. Aber auch die scheint ja kein CR3 zu unterstützen. Ist für mich aber auch zweitrangig.

Mein gesamter Timelapse Workflow geht über die MATLAB Image Processing Toolbox. Ausrichten von Bildern, Deflickern (ähnlich LRTimelapse) und gleitende Median und Mittelwertberechnung.

Die kannst du dann zusätzlich verwenden, um die Dynamik deiner Kamera zu berechnen. Unten ein Beispiel:

Mir geht es im Wesentlichen um das Verständnis der RAW Informationen, nicht um die Entwicklung eines eleganten Tools.

Die Bestimmung der Dynamik meiner Kameras geht mit CHDK viel eleganter. Einfache ein Lua Script auf der Kamera starten, das fährt dann automatisch den kompletten Dynamik der Kamera ab und schreibt dann die RAW basierten Ergebnisse in eine CSV Datei die ich direkt in Excel/MATLAB einlesen kann.
 
WERBUNG
Zurück
Oben Unten