Entwickler-Ecke

Dateizugriff - Raw-Dateien in voller Auflösung öffnen


PowershotRS - So 27.03.11 15:54
Titel: Raw-Dateien in voller Auflösung öffnen
Hallo zusammen,

ich ärger mich gerade mit einem wohl doch recht speziellen Problem herum und wollte, da Suchfunktion und Google mir noch nicht wirklich geholfen haben, hier mal um Hilfe bitten:

Ich möchte in einem Programm Bilder im Raw-Format schlicht und ergreifend öffnen (z.B. in einem image). Diese erzeuge ich zuvor mit einer Canon Kompaktkamera (für die, die es nicht wissen - Raw bezeichnet das Rohdatenformat, in dem ein auf dem Bildsensor entstandenes Foto zunächst vorliegt, bevor die Kamera selbst anfängt, die ganze Sache zu komprimieren und in andere Formate wie z.B. JPEG umzuwandeln). Das Problem bei der Sache ist, dass ich zwar die entsprechenden Codecs etc. auf meinem Rechner installieren kann (ich kann wählen zwischen .DNG, .CRW und .CR2, falls jemand für EINEN dieser drei Dateitypen eine Lösung hätte, wäre mir bereits vollkommen geholfen), viele Programme aber von vornherein die Einstellung besitzen, die Raw-Dateien aus Gründen der Arbeitsminimierung in niedrigerer Auflösung darzustellen. Das geht dann soweit, dass man auch bei den Dateieigenschaften im Explorer die kleinere Auflösung angezeigt bekommt, obwohl in jedem Raw-Bild immer die maximale Auflösung des CCD-Sensors steckt.

Lange Rede kurzer Sinn: Delphi 2010 scheint genauso zu verfahren. So kann ich zum Beispiel eine .DNG-Datei problemlos in ein Image laden, jedoch erhalte ich am Ende immer die "Mickerauflösung", die mir nicht weiterhilft. Hier der Zweizeiler, den ich dazu verwende:


Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm1.Button1.Click(Sender: TOBject);
begin
 image1.picture.registerfileformat('DNG','DNG Format',TWICImage);
 image1.picture.loadfromfile('[Dateipfad]\IMG_3746.dng');
end;

Kennt jemand vielleicht das Problem und/oder hat einen Lösungsvorschlag? Ich wäre für jede Hilfe dankbar.

Lg
Robert

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt


jaenicke - So 27.03.11 16:15

Hallo und :welcome:

Ich habe die Formate noch nie benutzt, deshalb wäre es gut, wenn ich von irgendwoher ein Bild zum Testen bekäme. Ich weiß nicht, ob die komprimiert klein genug sind zum Anhängen?


PowershotRS - So 27.03.11 17:59

Hallo Sebastian (ich geh jetzt mal davon aus, dass die Anrede mit Vornamen hier üblich ist?!)

danke für das Willkommen. ;)

Die Einzeldatei ist bereits zu groß für den Anhang (unkomprimiert 10 MB und als .zip 6,5 MB). Hab aber mal ein Beispielbild bei rapidshare hochgeladen:

http://rapidshare.com/files/454642030/IMG_3746.zip

MfG
Robert


jaenicke - So 27.03.11 19:13

Hallo Robert, da hast du Recht ;-)

Ja, also ich kann die angehängte Datei so nicht laden. Aber vielleicht habe ich bei Wikipedia die Erklärung für das kleine Format gefunden:
http://en.wikipedia.org/wiki/Digital_Negative_(file_format) hat folgendes geschrieben:
A DNG file always contains data for one main image, plus metadata, and optionally contains at least one JPEG preview.
Denn eine .DNG Datei ist ja offenbar ein proprietäres Format von Adobe.


PowershotRS - So 27.03.11 20:47

Ja, soweit ich mich belesen habe, war das ein mehr oder minder gelungener Versuch von Adobe, die verschiedenen Rohdatenformate mal durch ein standardisiertes zu ersetzen.

Das hieße dann ja aber, dass Delphi auf den .dng-Codec zurückgreift (ohne dessen Installation bei mir auch überhaupt nichts funktinoiert hat), nur um dann ein in der DNG-Datei verborgenes JPEG zu öffnen? Also zumindest beim normalen Windows Live Foto Viewer habe ich den Eindruck nicht, weil er schlicht schon sehr lange braucht, um das Bild mit niederer Auflösung anzuzeigen. Wär das nicht auch etwas seltsam, wenn man sagt, dass Delphi 2010 grundsätzlich mit raw-Formaten arbeiten kann, die dann aber nicht mal öffnet, sondern von sich aus nur auf darin versteckte, altbekannte Formate zugreift?

Denkbar wäre es natürlich. Die beste Kontrolle wäre wahrscheinlich mal zu versuchen mit Delphi eine .cr2- oder .crw-Datei zu öffnen, in denen so ein Preview-JPG meines Wissens nach nicht eingelagert ist (?!). Wenn das Programm die dann mit voller Auflösung öffnen würde, wäre es recht wahrscheinlich, dass es daran liegt.

Leider wollen die Canon Raw Codecs bei mir noch nicht so wirklich funktionieren (Installation läuft zwar einwandfrei, aber ich kann die Dateien danach genauso wenig angucken wie vorher).

MfG
Robert


Thom - So 27.03.11 22:09

Adobe DNG [http://www.adobe.com/de/products/dng/]
DNG-Spezifikation [http://www.adobe.com/products/dng/pdfs/dng_spec.pdf]
TIFF-Spezifikation [http://partners.adobe.com/public/developer/en/tiff/TIFF6.pdf]
Wikipedia [http://de.wikipedia.org/wiki/Digital_Negative]:
Zitat:
Das Format basiert auf einer Erweiterung des Tagged Image File Format/Electronic Photography (kurz tiff/ep). Neben den Bilddaten werden zahlreiche Metadaten abgespeichert.

Beim DNG-Format handelt es sich also um eine Erweiterung des TIFF-Formates, das mehrere Bilder in einem File enthalten kann.

Ich nehme deshalb an, daß in der Datei ein Vorschaubild mit niedrigerer Auflösung enthalten ist, das dann in der Image-Komponente angezeigt wird.

Meine Empfehlung: Die 91 Seiten DNG- und die 121 Seiten TIFF-Spezifikation lesen und selbst programmieren. Vielleicht wird dann Deine Komponene auch mal von Embarcadero übernommen wie TGIFImage und TPNGImage... :zustimm: