• Herzlich willkommen im "neuen" DSLR-Forum!

    Wir hoffen, dass Euch das neue Design und die neuen Features gefallen und Ihr Euch schnell zurechtfindet.
    Wir werden wohl alle etwas Zeit brauchen, um uns in die neue Umgebung einzuleben. Auch für uns ist das alles neu.

    Euer DSLR-Forum-Team

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

  • DSLR-Forum Fotowettbewerb neu erfunden!
    Nach wochenlanger intensiver Arbeit an der Erneuerung des Formates unseres internen Fotowettbewerbes ist es Frosty als Moderator
    und au lait als Programmierer gelungen, unseren Wettbewerb auf ein völlig neues Level zu heben!
    Lest hier alle Infos zum DSLR-Forum Fotowettbewerb 2.0
    Einen voll funktionsfähigen Demowettbewerb kannst du dir hier ansehen.
  • Neuer Partner: AkkuShop.de
    Akkus, Ladegeräte und mehr (nicht nur) für Digitalkameras und Drohnen
  • Neuer Gutscheincode unseres Partners Schutzfolien24:
    DSLR-Forum2024
    Dauerhaft 10% Rabatt auf alle Displayschutzfolien der Eigenmarken "Upscreen", "Brotec", "Savvies".
    Der Code ist für alle Geräteklassen gültig.
  • Stimmt ab über die Sieger des DSLR-Forum Fotowettbewerbs Mai 2024.
    Thema: "Diagonale"

    Nur noch bis zum 31.05.2024 23:59!
    Jeder darf abstimmen!
    Zur Abstimmung und Bewertung hier lang
WERBUNG

Vorschau / Preview / Thumbnail aus DNG extrahieren

Gast_308519

Guest
Hi,

nochmal als Nebenprodukt meiner Übrung von gestern eine Kleinigkeit.

In jedem Pentax DNG (welches in der Kamera erstellt wurde), stecken immer zwei JPG-Vorschaubilder mit drin.

Diese werden von den ganzen Anzeigeprogrammen genutzt.

Man kann sie aber auch selbst rausholen und zwar so:


  1. PDCU nutzen
    Bilder auswählen und im Menü "Werkzeuge / JPG extrahieren" wählen.
    Schon hat man die grossen Vorschaubilder, die auch alle Metadaten enthalten (die Software kopiert sie automatisch rüber).
  2. exiftoolGUI verwenden
    Bilder auswählen und unter "exiftooldirect" folgende Befehle eingeben:
    Code:
    -b -BigImage -w %d%f.jpg
    extrahiert das 4928 x 3264 Vorschaubild
    Code:
    -b -previewImage -w %d%f.jpg
    extrahiert das 640 x 480 Vorschaubild

    Alternativ kann man im Menü "Export/Import" "Extract preview image from selected" "CR2/DNG files" wählen und bekommt die 640 x 480 Vorschau.
    Die auf diese Art und Weise extrahierten Bilder enthalten erstmal keine Metadaten. Man kann sie aber leicht über das Menü "Export/Import" und "Copy metadata from single file..." reindrücken, wenn man es braucht.
Die grossen Vorschaubilder sind meist ca. 1-1,5 MB gross und somit ein Stück stärker komprimiert, als die 16M/JPG/* Dateien.
Die kleinen sind meist so gegen 40 KB gross.

Auf beide werden die kamerainternen JPG-Entwicklungseinstellungen angewandt.

Je nachdem, welche Verwendungszwecke man also hat, kann es sein, dass ein Schiessen in RAW+JPG gar nicht nötig ist, da man im DNG eh schon ein "kostenloses" und nach eigenem Wunsch entwickeltes JPG drin hat, das man jederzeit rausziehen kann.

Wie gut oder schlecht die komprimierte Qualität für die eigenen Zwecke geeignet ist, muss jeder selbst entscheiden. Für diejenigen, die sich Bilder vorrangig elektrisch ansehen ist das aber schnurz, da selbst gediegene 30-Zoll-Monitore nicht viel über 4 MPx haben.

Die kleinen Vorschaubilder eignen sich für schnelle Übersichten.
 
Machst dir wirklich Mühe ;) .

Große Vorschaubilder:
analoge Aufnahmen (KB) eingescannt mit 6 MPixel bieten auch nicht mehr. Und im Vergleich hoch aufgelöster digitaler Aufnahmen sieht man auflösungstechnisch keinen Unterschied am großen Monitor. Also mal testen, was es bringt. Allerdings kostet das wieder Rechenzeit ... :(.
 
Previewfiles aus *.PEF erzeugen

Ich habe das mal erweitert für unsere Linux-Freunde im Terminal :D. Man erhält hierdurch ca. 1,3 MByte große *.jpg-Files (Pentax K-r).

ACHTUNG! Alles auf eigene Gefahr und erst mal in einem Dummy-Ordner testen. Bei mir funktioniert das bestens (y).

Ich benötige dazu die (Terminal)Programme:

- exiftool
- jhead

Bei Ubuntu 12.04 sind die im Repository vorhanden und leicht zu installieren.

Wenn man *.PEF-Files in einem Ordner hat und die Preview-Jpg extrahieren möchte, hilft dieser Befehl, der in eine Zeile im Terminal eingegeben werden muss. Bitte beachten, vorher in den Ordner wechseln, in dem die *.PEF-Files liegen. Vorhandene *.JPG-Files (!groß geschrieben!; z.B. aus RAW+JPG erzeugt) oder die *.PEF-Files werden nicht verändert.

0. Terminal starten
1. zuerst in den entsprechenden Ordner wechseln
2. folgenden Befehl in eine Zeile eingeben:

for file in *.PEF; do exiftool -b -JpgFromRaw $file > ${file%.*}.jpg; exiftool -overwrite_original -TagsFromFile $file ${file%.*}.jpg; done


Es wird die JpgFromRaw aus dem *.PEF-File extrahiert und die erzeugte *.jpg-Datei mit den EXIF-Daten ergänzt. Zwischenzeitlich erzeugte Backupfiles werden gelöscht. Es werden alle *.PEF-Files abgearbeitet, die sich im aktuellen Ordner befinden. Danach endet das Programm.

Mit dem Tool jhead im Terminal kann ich anschließend das Filedatum der erzeugten *.jpg-Files mit dem originären Aufnahmedatum versehen:

3. im gleichen Ordner im Terminal das Kommando eingeben:

jhead -ft *.jpg


Schlaue binden sich das letzte Kommando in die Zeile ganz oben ein und haben alles in einem Rutsch abgearbeitet. Ich habe das draußen gelassen, vielleicht möchten andere das Erstellungsdatum der erzeugen *.jpg-Files haben und nicht das Foto-Aufnahmedatum.

Falls einer Fehler findet, bitte hier anschließend posten.

Viel Spaß :devilish:
 
Hey super danke an euch beide !

Bisher war es aufwendiger die JPGs aus dem RAW Dateien zu extrahieren, wenn ich das Laptop meiner Freundin mit Ubuntu 10.10 benutzt habe.

Das "schnelle" jpg extrahieren wie mit DCU4 habe ich auch vorher schon zu PPL Zeiten gemacht, aber dass dies auch mit Exiftool geht, ist natürlich super.

Geht das dann auch mit PEF und Exiftool ?
 
Jetzt will ich hier nicht die tollen Tools zum Extrahieren schlecht machen.

Aber mir erschließt sich der ganze Aufwand nicht so ganz.

Eine kleine Einstellung einmalig an der Kamera und Du hast beides, RAW für alle nachträglichen Arbeiten und ein qualitativ hochwertiges JPG; keine nachträgliche Bearbeitung dafür am PC.
Die Tools sind doch nur für die Zeit der Lernphase notwendig, wo man noch geglaubt hat, das alleine RAW das Allheilmittel für alles ist.
Oder man gespielt hat und vergessen, alles wieder zurück zu stellen.

Soviel ich hier mitgelesen habe hat auch nur DNG ein halbwegs vernünftiges Vorschaubild eingebettet. Da ich aber immer in PEF arbeite, hab ich mir dazu wirklich noch keine weiteren Gedanken gemacht.

OK, es gab auch noch Zeiten, wo man da wegen dem Speicherplatz einen Kompromiss machen musste…

Bei meiner K20 ist RAW+ seit ca. 2 Monate nach Anschaffung der Standard.
Und so kann ich mich beim Fotografieren auf das wirklich notwendige konzentrieren und mache mir erst zuhause Gedanken ob ich noch die Bilder durch DXO jage oder gleich so zeigen kann.
 
Man kann sie aber auch selbst rausholen und zwar so:


  1. PDCU nutzen
    Bilder auswählen und im Menü "Werkzeuge / JPG extrahieren" wählen.
    Schon hat man die grossen Vorschaubilder, die auch alle Metadaten enthalten (die Software kopiert sie automatisch rüber).
  2. exiftoolGUI verwenden
    Bilder auswählen und unter "exiftooldirect" folgende Befehle eingeben:
    Code:
    -b -BigImage -w %d%f.jpg
    extrahiert das 4928 x 3264 Vorschaubild
    Code:
    -b -previewImage -w %d%f.jpg
    extrahiert das 640 x 480 Vorschaubild

Mein Exiftool kennt zwar -previewImage aber kein -BigImage (8.96 auf w7 Ultimate 64bit). :(

Ob man das braucht, sei mal dahingestellt. Statt eines kaputtkomprimierten JPGs aus dem DNG macht mir mein RAW-Konverter doch auf Knopfdruck ein vernünftiges JPG. Mir erschließt sich der Sinn nicht wirklich.

cv
 
Der Aufwand erschließt sich ganz einfach:
ich hatte in RAW fotografiert und viele Aufnahmen ohne JPEGs rum liegen. Die Entwicklung der Einzelbilder erfolgte immer per RAW-Tool. Der Nachteil für mich war, dass ich keine JPEGs für eine Schnellansicht hatte :eek:.

Diesen Nachteil wollte ich nachträglich korrigieren (wusste nur nicht wie); Beholder3 hat einen Weg aufgezeigt, wie es geht. Ich habe die Vorgehensweise für GNU/Linux-Nutzer etwas optimiert. Es ist nur für die GNU/Linux-Nutzer interessant, die eine ähnliche Problemstellung haben.

Noch was. Die erzeugten JPEGs haben nicht die optimale Qualität, da sie stark komprimiert sind. Insofern: RAW+. Die Qualität ist aber zur Ansicht auf dem Bildschirm und sogar für normale Abzüge ausreichend gut.
 
:confused:
Es gibt jetzt schon zwei die posten, das sich ihnen der Sinn der beschriebenen Lösungen nicht erschließt. Mir erschließt sich der Sinn dieser Postings nicht.

Es ist doch klar, das nur die angesprochen werden, die mit diesen Tools arbeiten, arbeiten wollen, oder aber nach diesen (oder ähnlichen) Tools und Lösungsmöglichkeiten suchen.
 
:confused:
Es gibt jetzt schon zwei die posten, das sich ihnen der Sinn der beschriebenen Lösungen nicht erschließt. Mir erschließt sich der Sinn dieser Postings nicht.

Es ist doch klar, das nur die angesprochen werden, die mit diesen Tools arbeiten, arbeiten wollen, oder aber nach diesen (oder ähnlichen) Tools und Lösungsmöglichkeiten suchen.

< ironie >
Mir erschließt sich dieses ganze Fotografiere schon überhaupt nicht.
Wenn ich mir ne Blume ansehen möchte gehe ich in den Garten und schaue mir nicht irgendwelche Fotos davon an. Dafür hab ich doch die Natur.
Es ist doch ein total überflüssiger Aufwand davon erst ein Foto zu machen und die Qualität ist nie so gut wie die Blume in natura.
</ ironie >
 
Mir erschließt sich der Sinn dieser Postings nicht.

Der primäre Zweck meines Postings bestand darin, aufzuzeigen, dass der von Beholder3 beschriebene Weg unter Windows nicht funktioniert. Vermutlich funktioniert er auch unter Linux nicht, denn Exiftool sollte sich da nicht anders verhalten.

Erst im Nebensatz habe ich meine Zweifel darüber artikuliert, dass hier ein JPG minderer Qualität aus dem DNG extrahiert werden soll, was mit praktisch identischem Aufwand in beliebiger Qualität aus dem RAW direkt erzeugt werden könnte. Ich halte das für sinnlos - aber ich lasse mich gerne belehren, vielleicht hat das Ganze ja doch irgend einen Vorteil. Aber sicher nicht diesen:

Der Nachteil für mich war, dass ich keine JPEGs für eine Schnellansicht hatte :eek:.

Diesen Nachteil wollte ich nachträglich korrigieren (wusste nur nicht wie); Beholder3 hat einen Weg aufgezeigt, wie es geht.

_Entweder_ verwende ich ein Programm, welches für die Schnellansicht die JPGs aus den RAWs anzeigen kann, dafür sind die nämlich im DNG enthalten. (Und sonst könnte man sie auch nicht extrahieren.) _Oder_ ich benötige die JPGs aus welchen Gründen auch immer als separate Files, dann lasse ich sie vom RAW-Konverter ausspucken.

cv
 
Nur weil du es dir nicht vorstellen kannst heißt das noch lange nicht, dass andere das auch nicht benötigen.
_Entweder_ verwende ich ein Programm, welches für die Schnellansicht die JPGs aus den RAWs anzeigen kann, dafür sind die nämlich im DNG enthalten. (Und sonst könnte man sie auch nicht extrahieren.)
Vielleicht kann der bevorzugte Bildbetrachter ja keine .jpg im .dng anzeigen.
_Oder_ ich benötige die JPGs aus welchen Gründen auch immer als separate Files, dann lasse ich sie vom RAW-Konverter ausspucken.
Vielleicht hat man keinen Bock das Netbook ne halbe Stunde dafür rechnen zu lassen, sondern es reicht die schon vorhandenen .jpg's in 2 Minuten zu extrahieren.
 
...Das "schnelle" jpg extrahieren wie mit DCU4 habe ich auch vorher schon zu PPL Zeiten gemacht, aber dass dies auch mit Exiftool geht, ist natürlich super.

Geht das dann auch mit PEF und Exiftool ?
Ja, ich habe nur PEFs.
Hinweis: ich hatte allerdings nur beschrieben, wie die Preview (JPG mit voller Auflösung/Pixelzahl, aber starker Komprimierung !) extrahiert wird.

In der man-Beschreibung von exiftool habe ich ein interessantes Beispiel gefunden. Möchte ich nicht vorenthalten und gebe das im Originaltext wieder:

exiftool -if '$jpgfromraw' -b -jpgfromraw -w %d%f_%ue.jpg -execute -if '$previewimage' -b -previewimage -w %d%f_%ue.jpg -execute -tagsfromfile @ -srcfile %d%f_%ue.jpg -overwrite_original -common_args --ext jpg DIR

[Advanced] Extract JpgFromRaw or PreviewImage from all but JPG
files in DIR, saving them with file names like "image_EXT.jpg",
then add all meta information from the original files to the
extracted images. Here, the command line is broken into three
sections (separated by -execute options), and each is executed as
if it were a separate command. The -common_args option causes the
"--ext jpg DIR" arguments to be applied to all three commands, and
the -srcfile option allows the extracted JPG image to be the
source file for the third command (whereas the RAW files are the
source files for the other two commands).


Muss ich bei mir auch mal testen, sieht gut aus die Befehlskette.

Übrigens, für viele, die Web-Seiten erstellen, sind in den man-pages von exiftool noch Hinweise drin, wie HTML-Sites automatisiert mit EXIF-Informationen (hex dump of exif information) aus den RAW-Files erzeugt werden können - aber das ist ein anderes Feld ...
 
Mein Exiftool kennt zwar -previewImage aber kein -BigImage (8.96 auf w7 Ultimate 64bit). :(

Sorry. Ich hatte vergessen, dass ich aus dem Beispiel-Konfig-File des exiftool die Definition des composite tags "BigImage" in meine Konfig übernommen hatte vor langer Zeit und dass dies nicht bei jedem User per default so ist. :eek:

Mit dem folgenden Code in der Datei ".ExifTool_config" sollte es unter Windows wie Linux klappen. Er findet sich wie gesagt in der Beispieldatei von Phil Harvey.

Code:
# [advanced] select largest JPEG preview image
        BigImage => {
        Desire => {
            0 => 'JpgFromRaw',
            1 => 'PreviewImage',
            2 => 'OtherImage',
            # (DNG and A100 ARW may be have 2 PreviewImage's)
            3 => 'PreviewImage (1)',
                },
        # ValueConv may also be a code reference
        # Inputs: 0) reference to list of values, 1) ExifTool object
        ValueConv => sub {
            my $val = shift;
            my ($image, $bigImage, $len, $bigLen);
            foreach $image (@$val) {
            next unless ref $image eq 'SCALAR';
Danke nochmal an hopsing für all die ergänzenden Infos. :)
 
Noch was. Die erzeugten JPEGs haben nicht die optimale Qualität, da sie stark komprimiert sind. Insofern: RAW+. Die Qualität ist aber zur Ansicht auf dem Bildschirm und sogar für normale Abzüge ausreichend gut.

Hallo Hopsing, ich habs probiert. Ich kann nicht klagen, es sind keine Jpg-Artefakte bei 500% zu erkennen. Das Tool scheint ordentlich zu arbeiten.
B.
 
Versteh ich auch nicht.:confused:
Wann brauch ich von einem normalen Bild so eine vergrößerung?
Selbst ein guter Monitor hat auch nur ca 2,3 MPix Auflösung.
Und für eine Schnellbetrachtung verwendest Du doch nichts anderes.
Selbst eine 100% Ansicht mach das Bild schon so groß daß du alles was wichtig ist erkennen kannst.
 
Ts, ts. Der Kerle hat doch nur mal die vorgeblich "schlechten" Bilder riesig angeguckt, um zu checken, ob die Qualität tatsächlich so mies ist, wie man deuten könnte.
Und das ist wohl nicht der Fall.

Wurde irgendwo geschrieben, dass er das als normalen Anwendungfall nutzt? Nein.

Immerhin hat er mit seinem Beitrag eine konstruktive Info eingebracht. Das kann man nicht von jedem anderen Post behaupten.
 
Hallo Hopsing, ich habs probiert. Ich kann nicht klagen, es sind keine Jpg-Artefakte bei 500% zu erkennen. Das Tool scheint ordentlich zu arbeiten.
B.
Ah ja. Also zumindest gute JPG-Engine. Bestätigt zumindest auch meine Beobachtung, das zwischen einem 5,6MByte großen JPG-Original (RAW+JPEG) und der mit dem exiftool am PC extrahierten nur 1,3MByte großen Datei auf dem Bildschirm kein sichtbarer unterschied erkennbar ist.
 
Zuletzt bearbeitet:
So, mal getestet.
Das unter #12 beschriebene Kommando ist schneller, da es die Multiprozessor- und Threadtechnologie der Rechner besser ausnutzt.

Finde ich recht interessant und brauchbar, daher erlaube ich mir noch kleine Ergänzungen, die im Rahmen des Threadthemas doch für die Fotofreunde mit GNU/Linux neben den Kameras von Belang sein könnten:

In den man pages von exiftool ist auch beschrieben, wie man seine gespeicherten Fotos in eine Ordnerstruktur nach Jahr/Monat/Tag ordnen kann, entweder durch verschieben oder kopieren (dir ist der Ordner, wo die Fotos liegen):

exiftool '-Directory<DateTimeOriginal' -d %Y/%m/%d dir
Move all files in "dir" into a directory hierarchy based on year,
month and day of "DateTimeOriginal". ie) This command would move
the file "dir/image.jpg" with a "DateTimeOriginal" of "2005:10:12
16:05:56" to "2005/10/12/image.jpg".

exiftool -o . '-Directory<DateTimeOriginal' -d %Y/%m/%d dir
Same effect as above except files are copied instead of moved.


Aber auch jhead kann noch viel mehr!
Nützlich ist u. a. die Übertragung der EXIF-Daten vom Original auf ein manipuliertes JPG-File, dem die EXIF-Daten durch ein Grafik-Programm gestohlen wurden; Achtung! Bei Windows und Linux wird das "&"-Zeichen anders interpretiert - daher immer erst in Dummy-Umgebung testen:

jhead -te "originals/&i" *.jpg
would transfer the exif header for each .jpg file in the originals directory by the same name, Both Win32 and most Unix shells treat the '&' character in a special way, so you have to
put quotes around that command line option for the '&' to even be passed to the program.

Natürlich geht das auch nur mit einer Datei:
jhead -te file image.jpg
Transplant Exif header from a JPEG (with Exif header) in file into the image that is manipulated. This option is useful if you like to edit the photos but still want the Exif header on
your photos.


Zur Erinnerung:
mit dem jhead -ft *.jpg Kommando kann man den Files wieder das Aufnahmedatum verpassen.

So, das war es erst mal. Je länger ich die man pages lese, um so mehr Möglichkeiten eröffnen sich - es lebe die nut shell :devilish:.
 
WERBUNG
Zurück
Oben Unten