Je suis en train de faire un petit script Perl (utilisant ExifTool) me permettant de mettre le nom complet d'un objectif dans les données EXIF. Afin de pouvoir déterminer avec quel objectif ont été prises un maximum d'images, j'aimerai quelques exemples de DNG pris avec un Leica DMR + un zoom de la marque, équipé de contacts ROM. Je n'ai aucun zoom dans ma panoplie et j'aimerai voir quelles données sont écrites par le DMR avec ce type d'objectif.
Merci
Pour info, cela permet de passer de cet affichage dans Lightroom
à celui-ci
Je ne suis pas sur Paris mais je peux toujours essayer de trouver des images sur le net (un JPEG avec toutes les données EXIF d'origine convient aussi).
Eric m'a envoyé une image. J'en ai aussi trouvé pas mal sur différents sites, prises avec différents zooms. Mais je n'ai pas pu trouver d'indications sur la focale : les données EXIF manquaient ou bien les objectifs utilisés n'avaient pas de contacts ROM.
Leica prévoit pourtant l'affichage de la focale sur le DMR, en précisant "Dans le cas d’objectifs de zoom dotés d’un équipement ROM, ce réglage s’effectue par paliers. Dans le cas du Vario-Elmar-R 4/80–200, toutefois, jusqu’à 180mm au maximum. Dans deux cas (Apo-Vario-Elmarit-R 2,8/70–180 et Vario-Elmar-R 4,2/105–280), seule la focale de départ est affichée.".
Bizarrement, la notice en anglais dit "On zoom lenses equipped with ROM, the information displayed is the respective shortest and longest focal lengths.".
Par ailleurs, j'ai trouvé ce message qui parle d'une information affichée mais pas stockée pour les zooms.
Pour les plus curieux, voici mon script Perl dans sa version ß.
Si vous voulez l'utiliser, il faut préalablement installer ExifTool. On considère que ce package est disponible dans /usr/bin/lib (ce qui est vrai après l'installation standard sous MacOS X "Lion"). Ensuite, il faut créer un fichier ExifLeicaR.pl contenant le code ci-dessous. Puis l'appeler via le Terminal, en mettant un fichier DNG en paramètre. Attention, si l'objectif est déterminé, le fichier DNG sera modifié. Il est donc conseillé d'en faire une sauvegarde. Notez aussi que le traitement des zooms n'est pas clarifié.
#!/usr/bin/perl -w -I /usr/bin/lib #------------------------------------------------------------------------------ # File: ExifLeicaR.pl # # Description: Create the tag 'Lens' with good values for Leica DMR images. # The image must contain the focal length (true if the lens is # equipped with a ROM). # # EXIF Tool (http://owl.phy.queensu.ca/~phil/exiftool/) required ! # # Revisions: 0.1 - 04/2012 - Gautier #------------------------------------------------------------------------------
# # ### giveLensName ### # # Function using the focal length and the max aperture # available in the EXIF to give a Leica R lens name # # Input 1: focal length (real) # Input 2: max aperture (real) # # Output: list of lens names (empty if undefined, 1 element if determined, 2 or more if several possibilities) # # Revisions: 0.1 - 04/2012 - Gautier # sub giveLensName($$) { # Inputs my $focalLength = $_[0]; my $maxAperture = $_[1];
# A photo must be given as 1st parameter my $photo = shift or die "Merci d'indiquer un nom de fichier image / Thanks to give an image file";
# Read EXIF from the photo my $exifTool = new Image::ExifTool; my $info = $exifTool->ImageInfo($photo);
# Check that the photo has been taken using a Leica Digital-Modul-R my $camera = $exifTool->GetValue('UniqueCameraModel'); if (!$camera) { $camera = "?"; } my $model = $exifTool->GetValue('Model'); if (!$model) { $model = "?"; }
if (($camera eq "Leica DMR") || ($model =~ /Digital Back DMR/) || ($model =~ /Leica DMR/)) { # The image is a DMR one, we can create/modify the tag Lens
# Read the focal length $focalLength = $exifTool->GetValue('FocalLength'); if (!$focalLength) { $focalLength = 0.0; } my @focalLengthArray = split(' ', $focalLength); my $focalLengthReal = $focalLengthArray[0];
# Read the MaxApertureValue tag (to determine the type of lens) $maxAperture = $exifTool->GetValue('MaxApertureValue'); if (!$maxAperture) { $maxAperture = 0.0; } print "Ouverture maximale / Max aperture = f/$maxAperture\n";
# Try to find the right lens my @tabLenses = (); #print "giveLensName($focalLengthReal, $maxAperture)\n"; @tabLenses = &giveLensName($focalLengthReal, $maxAperture); if (exists($tabLenses[0]) && !exists($tabLenses[1])) { $lensName = $tabLenses[0]; print "Objectif determiné / Lens defines [$lensName]\n"; $exifTool->SetNewValue(Lens => $lensName);
print "Mise à jour / Update \"$photo\"\n"; $exifTool->WriteInfo($photo); } else { if (!exists($tabLenses[0])) { print "Objectif indeterminé / Lens undefined [$focalLengthReal mm @ f/$maxAperture]\n"; } else { print "Plusieurs objectifs possibles / Several possible lenses [$focalLengthReal mm @ f/$maxAperture]\n";
foreach my $element (@tabLenses) { print " - $element\n"; }
# This list should be compared to a personal list of lenses. If there is only one lens in the two lists, we can conclude. # If not, we have to chose manually the right lens.
# TBD } }
} else { # The script is stopped because the image is not a DMR one print "La photo \"$photo\" n'a pas été prise avec un Leica DMR (ou données manquantes) [$camera / $model].\n"; print "The photo \"$photo\" has not been taken with a Leica DMR (or lack of data) [$camera / $model].\n"; }
Exemple d'appel :
./ExifLeicaR.pl Exemples/L1041528.DNG
Longueur focale / Focal length = 560.0 mm
Ouverture maximale / Max aperture = f/5.5
Objectif determiné / Lens defines [Leica Apo-Telyt-R 560 mm f/5,6]
Mise à jour / Update "Exemples/L1041528.DNG"
Dans Lightroom, on peut demander à ce que les métadonnées soient relues depuis le fichier. L'affichage devient alors pour ce fichier L1041528.DNG :
Ca ne sert pas à grand chose, mais mes Leica R se démarquent moins des autres
J'ai tout ce qu'il faut pour ton test, à savoir un R9 + DMR avec un vario-elmar 1:4 35-70 avec roms.
Je ne suis pas spécialiste des EXIF et comme les DNG originaux pèsent dans les 20 Mo, je ne peux sans doute pas te les envoyer en l'état. Dis moi quel logiciel et quelle procédure suivre pour les convertir / comprimer sans pertes d'informations dans l'Exif.
Donne moi aussi l'adresse mail où te les envoyer.
Cordialement.
Paps
Collectionneur d'appareils, essentiellement Reflex, ayant marqué la jeune "histoire" du numérique.
J'ai tout ce qu'il faut pour ton test, à savoir un R9 + DMR avec un vario-elmar 1:4 35-70 avec roms.
Merci Il semble que le DMR affiche les informations mais ne les enregistre pas, c'est ce que j'ai compris après avoir discuté du même sujet sur ce fil (LUF). Mais je reste preneur d'images complètes faites avec votre Vario-Elmar. Merci de les expédier à docs@summilux.net Ça devrait passer. En cas d'échec, vous pouvez passer par ce service.
Pour information, il n'est pas possible de déterminer l'ensemble des objectifs Leica R. Mais ça marche pas mal avec les miens et je passe maintenant systématiquement un script sur mes images. Dans Lightroom, j'ai pu mettre un nom d'objectif sur la quasi-totalité de mon catalogue (j'ai par exemple un Summicron 90 sans contacts mais un script inscrit quand même son nom dans les données EXIF - il faut bien sûr que je sache que cet objectif a été utilisé).
Le principe s'applique aussi aux images prises avec un autre boîtier.