dcraw
dcraw (nach den Initialen des Programmierers Dave Coffin) ist eine freie Software zur Konvertierung der Rohdatenbilder digitaler Kameras. Das Programm kann die zumeist proprietären, unzureichend oder gar nicht dokumentierten Bildformate fast aller auf dem Markt befindlichen Digitalkameras verarbeiten.
dcraw | |
---|---|
Basisdaten | |
Entwickler | Dave Coffin |
Erscheinungsjahr | 23. Februar 1997[1] |
Aktuelle Version | 9.28[2] (1. Juni 2018) |
Betriebssystem | Unix (GNU/Linux, macOS, BSD, AIX), OS/2, Windows u. a. |
Programmiersprache | C |
Kategorie | Grafiksoftware |
Lizenz | gemeinfrei, teilweise GPLv2 |
deutschsprachig | ja |
Homepage von dcraw |
Entstehung
Ausgangspunkt und Anlass war das Aufkommen hochwertiger, zumeist Spiegelreflex-Digitalkameras, die neben dem Abspeichern der aufgenommenen Bilder als JFIF-Dateien auch die direkte Ablage im Rohdatenformat erlaubten. Die Vorteile der Arbeit mit Bildern in Rohdatenformaten liegen in den weitergehenden Bearbeitungs- und Korrekturmöglichkeiten (z. B. des Weißabgleiches) sowie dem größeren Dynamikumfang der verlustfreien 14- oder 12-Bit-Daten gegenüber den verlustbehafteten 8-Bit-JPEG-Bildern. Der entscheidende Nachteil ist jedoch, dass alle Kamerahersteller unterschiedliche, zueinander inkompatible und auch innerhalb einer Produktionsreihe abweichende Formate für ihre Rohdatenbilder verwenden. Teilweise werden die Informationen auch verschlüsselt oder verschleiert,[3] um Fremdzugriff zu erschweren.
Zu all diesen Kameras werden von den Herstellern (evtl. zusätzlich zu erwerbende) Programme angeboten, die deren Rohdatenformate lesen und umwandeln können. Diese sind jedoch mit zwei Mängeln behaftet: Zum einen handelt es sich dabei durchweg um proprietäre Software, also unfreie Anwendungen, die auch nur auf einer dem Hersteller genehmen Betriebssystem- oder Hardwareplattform verwendet werden können. Damit verbunden ist das zweite Problem: Wird eine Kamera vom Markt genommen, weil eine Nachfolgerin erscheint, der Hersteller die Reihe aufgibt oder ganz verschwindet, endet die Unterstützung für diese Programme entweder sofort oder nach einer gewissen Zeit. Es gibt keine Garantie oder Verpflichtung, dass die Funktion der für diese Kamera notwendigen Rohdatenkonvertierungs-Software in jene für eine andere Kamera oder ein Nachfolgemodell aufgenommen wird. Gerät nun die damit verbundene Betriebssystem-Hardware-Kombination außer Gebrauch, gibt es keine Möglichkeit mehr, die Rohdatenbilder der Kamera zu nutzen.
Um dieses Manko zu beheben, entstand dcraw: Ein freies, möglichst einfach zu verwendendes, portables, so viele Kameras wie möglich unterstützendes und, der Unix-Philosophie folgend, genau eine Aufgabe erfüllendes Programm. dcraw ist ein Kommandozeilenprogramm, dem die Namen der zu verarbeitenden Rohdatenbilder sowie die dazugehörigen Einstellungen als Kommandozeilenparameter übergeben werden. dcraw gibt die umgewandelten Bilder entweder im TIFF- oder PPM-Format auf der Standardausgabe aus, somit kann das Ergebnis leicht weiterverarbeitet und dcraw dadurch einfach in Shell-Skripte eingebunden werden.
Verwendung
Obwohl möglich und in einigen Einsatz-Szenarien auch sinnvoll, wird dcraw üblicherweise nicht unmittelbar verwendet. Dies ist auch so vorgesehen – das Programm fungiert als Backend, das die Rohdatenumwandlung vornimmt; alle weiteren Bildbearbeitungsschritte werden dann vom eigentlichen Anwendungsprogramm vollzogen. Neben auf die Rohdatenkonvertierung spezialisierten Programmen, wie z. B. UFRaw, NUFRaw oder Rawstudio, die dcraw nicht aufrufen, sondern dessen Quellcode eingebunden haben, gehören dazu auch andere Bildbearbeitungsprogramme sowie Bilddatenbanken und Sonderanwendungen, z. B. für die Auswertung der Bilder von Überwachungskameras oder astronomischen Aufnahmen.
Es gibt auch eine spezielle Version dcrawps,[4] die in der Lage ist, die PSR- (pixel shift resolution) Bilder der Pentax K-3 II und der Pentax K-1 zu verarbeiten. In den Rohdaten-Dateien sind vier Bilder, die jeweils um einen Pixel verschoben sind, gespeichert. Die Verschiebung erfolgt so, dass jedes Pixel mit den zugehörigen vier Bayer-Filtern (RGBG) aufgenommen werden, diese werden dann in der Raw-Entwicklung übereinandergelegt und erhöhen so die Farbauflösung des Sensors.
Beispiele
dcraw kann neben der Konvertierung eine Reihe weiterer anderer Rohdaten-Verarbeitungen vornehmen.
Allgemeine Exif-Informationen wie z. B. verwendete Kamera, Blende, Brennweite und Belichtungszeit lassen sich wie folgt ermitteln:
dcraw -v -i IMG_1234.RAW
Die meisten Rohdatenformate enthalten ein eingebettetes JPEG-Vorschaubild. Dieses kann in die Datei IMG_1234.thumb.jpg
extrahiert werden:
dcraw -e IMG_1234.RAW
Ohne zusätzliche Parameter erfolgt die eigentliche Konvertierung in die binär codierte 8-bit PPM Datei IMG_1234.ppm
:
dcraw IMG_1234.RAW
Eine für die Weiterverarbeitung z. B. mit GIMP oder CinePaint geeignete PNG-Datei kann einfach durch eine Pipe mittels NetPBM erzeugt werden:
dcraw -4 -c IMG_1234.RAW | pnmtopng > IMG_1234.png
TIFF-Dateien kann dcraw direkt erstellen:
dcraw -T -6 IMG_1234.RAW
Unterstützte Kameras
Laut Website (Stand: Juni 2018) unterstützt die aktuelle Version die Rohdatenformate von 598 Kameras,[5] ein Großteil aller jemals in nennenswerter Stückzahl produzierten Digitalkameras, darunter alle Modelle der beiden Marktkontrahenten Nikon und Canon. Hinzu kommt die generische Unterstützung für Adobes Digital-Negative-Format und alle Kameras, die dieses erzeugen.
Software, die den Code von dcraw verwendet
Weblinks
Einzelnachweise
- www.cybercom.net.
- www.cybercom.net. (abgerufen am 7. Juli 2018).
- Digital Photography Review: Dave Coffin interviewed (englisch)
- Github dcrawps
- Dave Coffin: Decoding raw digital photos in Linux (englisch)