Schrift
[thread]11403[/thread]

EXIF Datum aus JPG lesen

Leser: 4


<< |< 1 2 >| >> 12 Einträge, 2 Seiten
roooot
 2008-03-03 20:08
#106593 #106593
User since
2008-03-03
276 Artikel
BenutzerIn
[default_avatar]
Hallo, ich möchte gerne das EXIF Datum eines Bildes auslesen, dass mit einer Digicam gemacht wurde. Wie geht das? Sicherlich über CPAN:Image::ExifTool? Blicke allerdings nicht so recht durch.

Ein kurzes Beispiel wäre toll!

Danke!
Viele Grüße :)
Gast Gast
 2008-03-03 20:19
#106594 #106594
roooot
 2008-03-03 20:23
#106597 #106597
User since
2008-03-03
276 Artikel
BenutzerIn
[default_avatar]
Naja die Beispiele sehen mir mehr nach CommandLine Nutzung aus. Bei mir läuft das ganze aber online auf einem Webserver und im Zuge des Bilduploads soll auch das EXIF Datum gelesen werden.
Habe eben wohl dieses wichtige Detail weggelassen


/nachtrag: ExifTool scheint wohl eher für die CommandLine Nutzung gemacht?
Viele Grüße :)
ptk
 2008-03-03 21:40
#106601 #106601
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
roooot+2008-03-03 19:23:56--
/nachtrag: ExifTool scheint wohl eher für die CommandLine Nutzung gemacht?

Warum glaubst du das? Die Manpage zeigt doch, wie man es als Modul macht.
roooot
 2008-03-04 12:16
#106606 #106606
User since
2008-03-03
276 Artikel
BenutzerIn
[default_avatar]
Die Beispiele suggerierten mir diesen Eindruck, der ja im nachhinein wohl falsch ist.

Bei den Samples habe ich das gefunden:
Code (perl): (dl )
1
2
3
exiftool -p '$filename has date $dateTimeOriginal' -q -f dir

#Print one line of output containing the file name and DateTimeOriginal for each image in directory dir.
Allerdings werde ich dadurch nicht wirklich schlau. Wie komme ich an die Variable $dateTimeOriginal. Bei CommandLine Nutzung wohl über -p, aber das hilft mir so ja nicht viel?
Viele Grüße :)
Gast Gast
 2008-03-04 13:35
#106614 #106614
Die Variablen sind die internen des Moduls bezüglich EXIF-Daten.
Struppi
 2008-03-04 15:01
#106628 #106628
User since
2006-02-17
628 Artikel
BenutzerIn
[Homepage]
user image
Das ist auch das Kommandozeilen tool exiftool, das Modul ist hier http://search.cpan.org/~exiftool/Image-ExifTool-7....
roooot
 2008-03-04 16:36
#106630 #106630
User since
2008-03-03
276 Artikel
BenutzerIn
[default_avatar]
Ja du hast mich überschätzt im Bezug auf das herauslesen aus der Dokumentation.

Ich danke dir trotzdem für dein Beispiel, ich denke das wird mich zum Ziel bringen.


Uploadscript habe ich bereits und das läuft rund.
Viele Grüße :)
GwenDragon
 2008-03-04 16:05
#106657 #106657
User since
2005-01-17
14533 Artikel
Admin1
[Homepage]
user image
Es ging doch um ein Beispiel, wie was funktioniert und das Kommandozeilentool ist doch informativ, was das Modul kann, oder?
Aber vielleicht habe ich rooot üpberschätzt.

Aber vielleicht hilft das:
http://search.cpan.org/src/EXIFTOOL/Image-ExifTool...
http://search.cpan.org/src/EXIFTOOL/Image-ExifTool...

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
use Image::ExifTool qw;
my $exifTool = new Image::ExifTool;
# $info ist eine Refrenz auf den Hash, der die Daten enthält
my $info = $exifTool->ImageInfo('image.jpg');

# Hash auslesen
foreach (keys %$info) {
    print "$_ => $$info{$_}\n";
}

Musst halt mal schauen, welchen Key du brauchst, ich habe gerade die EXIF-Spezifikation nicht parat. ;)

Quote
Bei mir läuft das ganze aber online auf einem Webserver und im Zuge des Bilduploads soll auch das EXIF Datum gelesen werden.

Wegen des Uploads schau mal in die Spezifikation von CGI.
Am einfachsten mit perldoc CGI
oder Anföängergerecht: http://faq.perl-community.de/bin/view/Wissensbasis...
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

roooot
 2008-03-05 15:54
#106722 #106722
User since
2008-03-03
276 Artikel
BenutzerIn
[default_avatar]
Kann das Datum nun auslesen. Allerdings hat es ein anderes Format (YYYY:mm::dd HH:MM::SS) als ich mir das wünsche(YYYY-mm-dd HH:MM::SS). Und ich habe immer noch ein Z hinter den Sekunden stehen. Wozu ist das gut und wie kann ich es entfernen (per RegEx?)?

Habe versucht die ExifTool eigene Funktion DateFormat zu benutzen, allerdings ist mein Datum dann leer.
Hier ein Auszug der relavanten Stelle:
Code (perl): (dl )
1
2
3
4
5
6
7
use Image::ExifTool qw();
my $exifTool = new Image::ExifTool;
$exifTool->Options(DateFormat => '%Y-%m-%d %H:%M:%S');

my $info = $exifTool->ImageInfo('./.tmp/bilder_'.$grid.'/'.$datei_neu.'.jpg') or share::logge('fehler bild nich lesbar: '.$!);

share::logge("Foto $$info{'FileName'} aufgenommen am $$info{'DateTimeOriginal'}");


Kann mir einer helfen?
Viele Grüße :)
<< |< 1 2 >| >> 12 Einträge, 2 Seiten



View all threads created 2008-03-03 20:08.