Wie sieht eine unverarbeitete RAW-Datei aus?

86

Ich weiß, dass Leute ausgefallene Software wie Lightroom oder Darktable verwenden, um ihre RAW-Dateien nachzubearbeiten. Aber was ist, wenn ich es nicht tue? Wie sieht die Datei aus, weißt du, RAW ?

mattdm
quelle
21
Die Matrix. Es sieht aus wie die Matrix.
Hueco
2
Verbunden; RAW-Dateien speichern 3 Farben pro Pixel oder nur eine? und warum sind Rot, Grün und Blau die Primärfarben des Lichts? Dies erklärt, wie digitale Kamerasensoren die Art und Weise minimieren, wie Augen / Gehirne Farben wahrnehmen , die in gewissem Sinne nicht so existieren, wie wir es oft annehmen.
Michael C
3
@Hueco, vielleicht eine Bayer-Matrix.
Mark
Ich habe die Diskussion darüber, wie dies am besten zu behandeln ist, als eine kanonische Frage zum Chatten verschoben . Machen wir bitte dort weiter, damit wir keinen Lärm in den Kommentaren haben, egal wie die Entscheidung letztendlich ausfällt.
AJ Henderson
1
Was nicht so aussieht, ist das "Straight-out-of-Camera-Rohbild" , das viele Leute zu haben scheinen, wenn sie eine Rohbilddatei in einer Rohverarbeitungsanwendung öffnen. Das ist die Basis für diese Frage.
Michael C

Antworten:

185

Es gibt ein Tool namens dcraw, das verschiedene RAW-Dateitypen liest und Pixeldaten daraus extrahiert - es ist eigentlich der Originalcode, der vielen Open Source- und sogar kommerziellen RAW-Konvertierungsprogrammen zugrunde liegt.

Ich habe eine RAW-Datei von meiner Kamera und ich habe dcraw in einem Modus verwendet, der angibt, dass ein Bild mit wörtlichen, nicht skalierten 16-Bit-Werten aus der Datei erstellt werden soll. Ich habe das in ein 8-Bit-JPEG konvertiert, um es mit Perceptual Gamma zu teilen (und für den Upload verkleinert). Das sieht so aus:

dcraw -E -4

Offensichtlich ist das Ergebnis sehr dunkel. Wenn Sie jedoch klicken, um es zu vergrößern, und wenn Ihr Monitor anständig ist, können Sie einen Hinweis auf etwas sehen .

Hier ist das nicht in der Kamera befindliche Farb-JPEG, das aus derselben RAW-Datei gerendert wurde:

JPEG außerhalb der Kamera

(Bildnachweis: meine Tochter benutzt übrigens meine Kamera.)

Immerhin nicht ganz dunkel. Die Details, wo genau sich alle Daten verstecken, werden am besten durch eine eingehende Frage abgedeckt. Kurz gesagt, wir benötigen eine Kurve, die die Daten über den Bereich von Dunkel- und Helligkeitsstufen erweitert, die in einem 8-Bit-JPEG auf einem typischen Bildschirm verfügbar sind .

Glücklicherweise hat das dcraw-Programm einen anderen Modus, der sich in ein "nützlicheres", aber immer noch kaum verarbeitetes Bild umwandelt. Hiermit wird der Pegel des dunkelsten Schwarzes und des hellsten Weiß angepasst und die Daten entsprechend neu skaliert. Sie kann den Weißabgleich auch automatisch oder anhand der in der RAW-Datei aufgezeichneten Kameraeinstellung einstellen, aber in diesem Fall habe ich darauf hingewiesen, dass dies nicht der Fall ist , da wir die geringstmögliche Verarbeitung untersuchen möchten.

Es gibt immer noch eine Eins-zu-Eins-Entsprechung zwischen Fotoseiten auf dem Sensor und Pixeln in der Ausgabe (obwohl ich diese für den Upload erneut verkleinert habe). Das sieht so aus:

dcraw -d -r 1 1 1 1

Nun, dies ist offensichtlich als Bild besser erkennbar - aber wenn wir darauf zoomen (hier wird also jedes Pixel 10-fach vergrößert), sehen wir, dass es alles ist ... dotty:

10fach zoomen und zuschneiden

Das liegt daran, dass der Sensor von einem Farbfilter-Array abgedeckt wird - winzige kleine Farbfilter, die die Größe der einzelnen Fotoseiten bestimmen. Da es sich bei meiner Kamera um eine Fujifilm-Kamera handelt, verwendet diese ein von Fujifilm als "X-Trans" bezeichnetes Muster, das folgendermaßen aussieht:

10 x xtrans

Es gibt einige interessante Details zu dem bestimmten Muster, aber insgesamt ist es nicht besonders wichtig. Die meisten Kameras verwenden heutzutage ein sogenanntes Bayer- Muster (das alle 2 × 2 statt 6 × 6 wiederholt). Beide Muster haben mehr Grünfilterseiten als rote oder blaue. Das menschliche Auge ist in diesem Bereich lichtempfindlicher. Wenn Sie daher mehr Pixel verwenden, erhalten Sie mehr Details mit weniger Rauschen.

Im obigen Beispiel ist der mittlere Bereich ein Himmelsfleck, der eine Cyan-Nuance aufweist. In RGB ist dies viel Blau und Grün ohne viel Rot. Die dunklen Punkte sind also die Rotfilterstellen - sie sind dunkel, weil dieser Bereich nicht so viel Licht in den Wellenlängen hat, die durch diesen Filter gelangen. Der diagonale Streifen in der rechten oberen Ecke ist ein dunkelgrünes Blatt. Während also alles etwas dunkel ist, können Sie das Grün sehen - die größeren 2 × 2-Blöcke mit diesem Sensormuster - sind in diesem Bereich relativ am hellsten.

Hier ist also ein 1: 1-Bereich (wenn Sie auf die Vollversion klicken, entspricht ein Pixel im Bild einem Pixel auf dem Bildschirm) des JPEG-Bereichs außerhalb der Kamera:

1: 1-Ansicht des Bildausschnitts außerhalb der Kamera

... und hier ist derselbe Bereich aus der obigen schnellen Graustufen-Konvertierung. Sie können die Punktierung anhand des X-Trans-Musters sehen:

1: 1 Ernte der dcraw -d -r 1 1 1 1 Version

Wir können das tatsächlich nehmen und die Pixel kolorieren, so dass diejenigen, die Grün im Array entsprechen, auf Ebenen von Grün anstelle von Grau, Rot zu Rot und Blau zu Blau abgebildet werden. Das gibt uns:

1: 1 mit xtrans Einfärbung

... oder für das Vollbild:

Vollbild von dcraw -d -r 1 1 1 1 mit xtrans-Kolorierung

Der Grünton ist sehr deutlich zu erkennen, was nicht verwunderlich ist, da es 2½ × mehr grüne Pixel als rote oder blaue gibt. Jeder 3 × 3-Block hat zwei rote Pixel, zwei blaue Pixel und fünf grüne Pixel. Um dem entgegenzuwirken, habe ich ein sehr einfaches Skalierungsprogramm erstellt, das jeden dieser 3 × 3-Blöcke in ein einzelnes Pixel umwandelt. In diesem Pixel ist der grüne Kanal der Durchschnitt der fünf grünen Pixel und der rote und blaue Kanal der Durchschnitt der entsprechenden zwei roten und blauen Pixel. Das gibt uns:

xtrans kolorierte, naive Blockdemosaikierung

... was eigentlich nicht halb so schlimm ist. Der Weißabgleich ist deaktiviert, aber da ich mich absichtlich entschlossen habe, mich nicht darauf einzustellen, ist dies keine Überraschung. Wenn Sie in einem Bildbearbeitungsprogramm auf "Automatischer Weißabgleich" klicken, wird dies kompensiert (da dies bei dcraw an erster Stelle festgelegt worden wäre):

xtrans kolorierte, naive Blockdemosaikierung + Auto-Levels

Im Vergleich zu den ausgeklügelten Algorithmen, die in Kameras und RAW-Verarbeitungsprogrammen verwendet werden, sind die Details nicht besonders gut, aber die Grundlagen sind eindeutig vorhanden. Bessere Ansätze erzeugen Vollfarbbilder, indem die verschiedenen Werte um jedes Pixel gewichtet werden, anstatt große Blöcke zu bilden. Da sich die Farbe in Fotografien normalerweise allmählich ändert, funktioniert dies recht gut und erzeugt Bilder, bei denen das Bild vollfarbig ist, ohne die Pixelabmessungen zu verringern. Es gibt auch clevere Tricks, um Kantenartefakte, Rauschen und andere Probleme zu reduzieren. Dieser Vorgang wird als "Demosaikieren" bezeichnet, da das Muster der Farbfilter wie ein Fliesenmosaik aussieht.

Ich nehme diese Ansicht (wo ich nicht wirklich irgendwelche Entscheidungen treffen hat, und das Programm nichts automatisch intelligent tun) könnte als „Standard Standarddarstellung“ von RAW - Datei Argumente, so enden viele Internet definiert wurden. Aber es gibt keinen solchen Standard - es gibt keine solche Regel, dass diese spezielle "naive" Interpretation etwas Besonderes ist.

Und das ist nicht der einzig mögliche Ausgangspunkt. Alle realen RAW-Verarbeitungsprogramme haben ihre eigenen Vorstellungen von einem Standardstatus, der beim Laden auf eine neue RAW-Datei angewendet werden kann . Sie müssen etwas tun (sonst hätten wir das dunkle, nutzlose Ding oben in diesem Beitrag), und normalerweise tun sie etwas schlaueres als meine einfache manuelle Konvertierung, was Sinn macht, weil Sie damit sowieso bessere Ergebnisse erzielen.

mattdm
quelle
4
Schönes Bild. Und tolle Antwort.
Marc.2377,
10

Es ist ein wirklich sehr großes Zahlenraster. Alles andere wird verarbeitet.

WolfgangGroiss
quelle
Kommentare sind nicht für eine längere Diskussion gedacht. Diese Unterhaltung wurde in den Chat verschoben .
AJ Henderson
7

Ich weiß, dass es von mattdm bereits sehr gut beantwortet wurde, aber ich dachte nur, dass Sie diesen Artikel vielleicht interessant finden:

Datengenetik: Funktionsweise von Digitalkameras

Falls der Link ausfällt, finden Sie hier eine Zusammenfassung:

Das menschliche Auge ist am empfindlichsten für Farben im grünen Wellenlängenbereich (was damit zusammenfällt, dass unsere Sonne im grünen Bereich am stärksten emittiert).

Das Kameraauge (Charge Coupled Device (CCD) oder komplementärer Metalloxid-Halbleiter (CMOS)) reagiert nur auf die Lichtintensität, nicht auf die Farbe.

Mit optischen Filtern werden verschiedene Wellenlängen des Lichts herausgefiltert. Zum Beispiel lässt ein Grünpassfilter nur grünes Licht durch.

In Digitalkameras verwendete optische Filter haben die Größe der einzelnen Pixelsensoren und sind in einem Raster angeordnet, um der Sensoranordnung zu entsprechen. Es werden rote, grüne und blaue Filter (ähnlich wie bei unseren Kegelzellen) verwendet. Da unsere Augen jedoch empfindlicher für Grün sind, verfügt der Bayer-Array-Filter über zwei Filter für grüne Pixel pro rotem und blauem Pixel. Das Bayer-Array hat grüne Filter, die ein schachbrettartiges Muster bilden, während rote und blaue Filter abwechselnde Reihen belegen.

Zurück zu Ihrer ursprünglichen Frage: Wie sieht eine unverarbeitete RAW-Datei aus?

Es sieht aus wie ein schwarz-weiß kariertes Gitter des Originalbildes.

Die ausgefallene Software zur Nachbearbeitung der RAW-Dateien wendet zunächst den Bayer-Filter an. Danach sieht es eher wie das eigentliche Bild aus, mit Farbe in der richtigen Intensität und an den richtigen Stellen. Es gibt jedoch immer noch Artefakte des RGB-Gitters vom Bayer-Filter, da jedes Pixel nur eine Farbe hat.

Es gibt verschiedene Methoden zum Glätten der farbcodierten RAW-Datei. Das Glätten der Pixel ähnelt jedoch dem Verwischen, sodass ein zu starkes Glätten eine schlechte Sache sein kann.

Einige der Demosaikierungsmethoden werden hier kurz beschrieben:

Nächster Nachbar: Der Wert eines Pixels (einzelne Farbe) wird auf die anderen farbigen Nachbarn angewendet und die Farben werden kombiniert. Dabei entstehen keine "neuen" Farben, sondern nur Farben, die ursprünglich vom Kamerasensor wahrgenommen wurden.

Lineare Interpolation: Zum Beispiel werden die beiden benachbarten Blauwerte gemittelt und der durchschnittliche Blauwert auf das grüne Pixel zwischen den benachbarten blauen Pixeln angewendet. Dadurch können scharfe Kanten unscharf werden.

Quadratische und kubische Interpolation: Ähnlich wie bei der linearen Interpolation, Näherungen höherer Ordnung für die Zwischenfarbe. Sie verwenden mehr Datenpunkte, um bessere Anpassungen zu generieren. linear betrachtet nur zwei, quadratisch drei und kubisch vier, um eine Zwischenfarbe zu erzeugen.

Catmull-Rom-Splines: Ähnlich wie kubisch, berücksichtigt jedoch die Steigung jedes Punkts, um die Zwischenfarbe zu erzeugen.

Halber Kosinus: Als Beispiel für eine Interpolationsmethode wird ein halber Kosinus zwischen zwei identischen Farben erstellt, zwischen denen sich eine weiche Kurve befindet. Wie im Artikel erwähnt, bietet es für Bayer-Arrays aufgrund der Anordnung der Farben jedoch keinen Vorteil. Es ist äquivalent zu linearer Interpolation, jedoch mit höherem Rechenaufwand.

High-End-Nachbearbeitungssoftware verfügt über bessere Demosaikierungsmethoden und clevere Algorithmen. Sie können beispielsweise scharfe Kanten oder starke Kontraständerungen erkennen und behalten ihre Schärfe bei, wenn sie die Farbkanäle kombinieren.

jreese
quelle
-6

Ich denke, viele Leute stellen sich vor, dass Rohdateien einfach eine Reihe von Pixelwerten sind, die direkt aus dem Kamerasensor stammen. Es gibt Fälle, in denen dies tatsächlich der Fall ist, und Sie müssen einige Informationen zum Sensor eingeben, damit die Software das Bild interpretiert. Viele der Consumer-Kameras geben jedoch normalerweise "RAW-Dateien" aus, die tatsächlich mehr oder weniger der TIFF-Dateispezifikation entsprechen (in einigen Fällen sind die Farben möglicherweise deaktiviert). Man kann versuchen, indem man einfach die Dateierweiterung auf ".tif" ändert und sieht, was beim Öffnen der Datei passiert. Ich denke, einige von Ihnen werden ein gutes Bild sehen, aber nicht jeder, da es Unterschiede gibt, wie verschiedene Kameramarken dies lösen.

Eine TIFF-Datei anstelle einer "echten Rohdatei" ist eine gute Lösung. Eine TIFF-Datei kann 16 Bit pro Farbe haben. Das reicht für alle Kameras, die ich kenne.

Ed: Ich frage mich, warum diese Antwort abgelehnt wurde. Die Antwort ist im Wesentlichen richtig (mit dem Vorbehalt, dass Kamerahersteller keine TIFF-Strukturen verwenden müssen, aber viele von ihnen).

Bezüglich des Teils über die Anordnung von Pixeln direkt aus dem Sensor heraus ist es nicht lächerlich, so etwas zu erwarten. Denn so funktionieren viele Sensoren außerhalb des Consumer-Kameramarktes. In diesen Fällen müssen Sie eine separate Datei bereitstellen, die den Sensor beschreibt.

Übrigens wird das Wort "RAW" verwendet, weil es bedeuten soll, dass wir die unverarbeiteten Sensordaten erhalten. Es ist jedoch vernünftig, dass die Kamerahersteller ein strukturiertes Format anstelle von RAW-Dateien verwenden. Auf diese Weise muss der Fotograf die genauen Sensordaten nicht kennen.

Ulf Tennfors
quelle
2
Ich habe Dateiwiederherstellungsanwendungen gehabt, die .cr2-Dateien als TIFFs "wiederherstellten". Diese Dateien würden nicht mit einer Anwendung geöffnet, die mit TIFFs arbeiten kann. Wenn Sie die Dateierweiterungen wieder in .cr2 ändern, sind sie perfekt für .cr2-Dateien geeignet.
Michael C
5
Das soll nicht heißen, dass RAW-Dateien nicht oft Container im TIFF-Format verwenden - das ist absolut richtig. Es ist nur so, dass das, was Sie wahrscheinlich sehen, nicht die "RAW" -Daten in dem Sinne sind, nach denen ich suche.
Mattdm
2
Zur Verdeutlichung verwendet die Datei Strukturen aus dem TIFF-Dateiformat. Da dies jedoch nicht genau der TIFF-Spezifikation entspricht, handelt es sich nicht um eine strenge TIFF-Datei. Der Punkt ist jedoch, dass eine TIFF-Bibliothek zum Lesen der Datei verwendet werden kann. Man muss nicht alles von Grund auf neu machen, um diese Datei zu lesen.
Ulf Tennfors
5
Niemand würde erwarten, dass eine RAW-Datei direkt vom Sensor aus Daten ohne Metadaten wie Zeitangaben, Kamerainformationen usw. enthält. Die Tatsache, dass TIFF-ähnliche Formate für die Strukturierung der Daten nützlich sind, ist nicht wirklich wichtig. Das konzeptionelle Prinzip, dass diese Daten ohne Nachbearbeitung direkt vom Sensor stammen, wird nicht beeinträchtigt.
Whatsisname
3
TIFF ist ein Container, eigentlich kein Bildformat. Sie können Daten in TIFF speichern und es handelt sich immer noch um unformatierte Sensordaten anstelle eines Bildes, das jeder verwenden kann, der keine kameraspezifischen Kenntnisse hat.
24.