[Mac] AppleScript pour modifier nom d'objectif dans les EXIF

Une question Ă  poser ou un conseil Ă  donner sur l'utilisation des outils logiciels, c'est ici.
Auteur
Message
iVoyger
Avatar de l’utilisateur
Messages : 3199
Photos : 3
Inscription : 15 Fév 2010
Localisation : Lyon
Contact :

#1 Message Dim 20 Nov 2011 20:03


Salut Ă  tous !

Alors après m'être pas mal creusé la tête, j'ai enfin une manière simple de modifier le nom d'un objectif dans les EXIF de mes photos ! :D

Si certains se sont déjà penchés sur la question, ils seront vite tombés sur la très bonne application ExifTool, disponible sous Mac et PC. Cette application permet de changer quasiment toutes les données Exif mais elle a un gros inconvenant : c'est une application en ligne de commande ! Aucune interface hormis celle du terminal ...

Mais, pourquoi modifier ce nom ? :zinzin:

Dans les Exif des fichiers photo .arw ou .jpeg issus des appareils Sony, il y a deux champs renseignant l'objectif utilisé. Ces champs sont appelés "Tags" : il y a le Tag LensType et le Tag LensID.

Le LensType est le Tag le plus important car c'est celui utilisé par les logiciels tels que iPhoto, Aperture, DxO ou LightRoom pour indiquer quel objectif a été utilisé. Le Tag prend la forme d'un texte visible, tels que Minolta AF 100mm F2.8 Macro [New], mais il y a un code associé. Pour le Minolta AF 100mm F2.8 Macro [New], le code est : 2581.

Le Tag LensID se contente de reprendre la dénomination de l'objectif issu du LensType. Il ne semble pas être utilisé par aucun logiciel, il n'est pas vraiment intéressant pour ce que l'on veut.

_______________________________________________________________________________________________________________________

On va maintenant prendre l'exemple d'une photo réalisée avec un Sigma AF 105mm F2.8 EX [DG] Macro.

Il faut savoir que les objectifs de marque tierce tels que Sigma ou Tamron utilisent des codes pour le Tag LensType issu des objectifs Sony/Minolta, avec pour certains des décimales. Ainsi, le Sigma AF 105mm F2.8 EX [DG] Macro utilise plusieurs code :

- le code 25, correspondant Ă  : Minolta AF 100-300mm F4.5-5.6 APO (D) or Sigma Lens

- le code 2581.2, dérivé du Minolta AF 100mm F2.8 Macro [New] dont le code est 2581.

Tout les objectifs référencés dans les Exif des fichiers Sony avec leur code sont disponibles ici : http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/Sony.html#LensType

Lorsqu'on lit les Exif de la photo avec Exiftool, on obtient ceci :

Image

Les Exif nous indiquent que la photo a soit été prise avec un Minolta AF 100-300mm F4.5-5.6 APO (D) soit avec un objectif Sigma. Si on essaye de modifier le Tag LensType avec Exiftool, en indiquant directement le nom Sigma AF 105mm F2.8 EX [DG] Macro, on obtient ceci :

Image

Image

Les deux Tag, LensType et LensID, ont maintenant changé : LensType indique maintenant que la photo a été prise avec un Minolta AF 100mm F2.8 Macro ou un objectif Sigma ou un objectif Tamron. LensID nous indique qu'elle a été prise avec un Sigma AF 105mm F2.8 EX [DG] Macro. Le résultat est le même si on essaie de rentrer la valeur numérique, le code 2581.2 (code du Sigma AF 105mm F2.8 EX [DG] Macro), avec la commande -n.
Le Tag LensType que l'on veut modifier n'est donc toujours pas bon. Inutile d'essayer de modifier le Tag LensID, ce n'est pas possible et de toute façon ce Tag n'est pas utilisé.


Il ne reste alors qu'une solution, et c'est celle proposée par le script que je mets à votre disposition : créer un nouveau Tag !

Et oui, cela est possible, on peut créer un nouveau Tag dans les Exif. On va donc créer un Tag nommé Lens.

Voici se qui se passe quand on créer le Tag avec Exiftool :

Image

Image

On voit sur la deuxième capture d'écran qu'un nouveau Tag est apparu, le Tag Lens qui indique Sigma AF 105mm F2.8 EX [DG] Macro. Et bien magie (ou pas), c'est ce nouveau Tag qui va être utilisé dans iPhoto, Aperture, Aperçu ou LightRoom ! Il n'est par contre pas utilisé par DxO.

En conclusion : il n'est pas possible de réellement modifier le modèle d'objectif dans une photo et que cela devienne pleinement exploitable (avec les corrections d'optique dans DxO notamment). On va en quelque sorte tricher, en créant un nouveau Tag qui sera pris en compte pour afficher le nom de l'objectif.

J'espère avoir été assez complet et assez clair :mrgreen:

Si vous voulez plus d'infos concernant les Tags et les valeurs contenus dans les Exif des photos issues d'appareils Sony : http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/Sony.html

_______________________________________________________________________________________________________________________

Comme dis plus haut, le logiciel Exiftool est en ligne de commande se qui n'est pas forcement pratique et à la porté de tous. Il est heureusement possible de le combiner avec un AppleScript généré par Automator pour avoir un minimum d'interface et pour pouvoir éditer plusieurs fichiers en même temps !

Très important : pour pouvoir utiliser se script, il faut que vous ayez au préalable installé ExifTool sur votre Mac ! Vous pouvez le trouver à cette adresse : http://www.sno.phy.queensu.ca/~phil/exiftool/

Le lien pour obtenir le script : https://rapidshare.com/files/409026483/AppleScript_Exif.app.zip
(le lien à une limite de validité dans le temps s'il n'est pas téléchargé pendant une période. N'hésitez à m'envoyer un mp pour que je puisse le re-uploader)

Nouveautés 13/12/11 : plus compréhensible au moment de rentrer le nom de l'objectif et nouvelle icône.

Le script fonctionne avec les versions 8.71 et 8.72 d'Exiftool, je n'ai pas pu tester avec les versions précédentes.

Le script fonctionne sur OSX 10.7.X Lion, je n'ai pas pu le tester sous 10.6 Snow Leopard ou 10.5 Leopard. Si jamais il ne marche pas avec ces versions, n'hésitez pas à m'envoyer un mp. Je pourrais vous fournir le code du script pour que vous puissiez le développer avec Automator (c'est assez simple) ; en retour, envoyez-moi la version compatible, que je puisse l'uploader et la proposer sur se fil.

La modification du nom de l'objectif avec le nouveau Tag est prise en compte dans Aperçu, iPhoto, Aperture, LightRoom. Ce n'est pas pris en compte avec DxO.

_______________________________________________________________________________________________________________________

Présentation et utilisation en vidéo !

phpBB [media]


_______________________________________________________________________________________________________________________

Rappel !

Pour éviter toute erreur, je vous indique de nouveau la manière de rentrer le nom de l'objectif quand l'application vous le demande.

En reprenant l'exemple du Sigma 105 Macro, il faut inscrire le texte suivant :

Code : Tout sélectionner

{"Sigma AF 105mm F2.8 EX [DG] Macro"}


Voilà j'espère que ça vous aura été utile ! :)
Dernière édition par iVoyger le Sam 19 Jan 2013 15:57, édité 9 fois.

iVoyger
Avatar de l’utilisateur
Messages : 3199
Photos : 3
Inscription : 15 Fév 2010
Localisation : Lyon
Contact :

#2 Message Lun 21 Nov 2011 18:51


Nouvelle version et nouvelle vidéo, histoire de simplifier la chose :commeca:

nelson
Messages : 4530
Photos : 28
Inscription : 09 Mars 2007
Localisation : Valenciennes (59)
/

#3 Message Lun 21 Nov 2011 20:58


Bonsoir
Très intéressant ton script. Est-ce que tu as essayé avec d'autres logiciels qu'Aperçu pour lire les exifs ? J'ai remarqué qu'avec certains logiciels la reconnaissance des objectifs n'était pas la même, par ex entre DxO et Aperture.

iVoyger
Avatar de l’utilisateur
Messages : 3199
Photos : 3
Inscription : 15 Fév 2010
Localisation : Lyon
Contact :

#4 Message Lun 21 Nov 2011 22:16


Alors je n'ai pas DxO mais je peux expliquer pourquoi : il y a en réalité 3 champs qui vont renseigner l'objectif utilisé dans les Exif.

Le premier, c'est le champs LensID, que l'on peut modifier.
Chaque objectif Sony ou Minolta possède sont propre ID, les objectifs de marques tierces ont des ID dérivés de ceux de Sony ou Minolta par correspondance. Je m'explique : je prends l'exemple de l'ID 28 ; cet ID correspond a Minolta/Sony AF 100mm F2.8 Macro (D) or Tamron Lens. Et l'objectif Tamron ayant un dérivé de l'ID 28 est le Tamron SP AF 90mm F2.8 Di Macro qui a l'ID 28.1 . Seulement le .1 n'est pas pris en compte pour afficher le nom de l'objectif et c'est donc le nom correspondant à l'ID 28 qui sera affiché.

Il y a ensuite le champs LensType qui reprend la dénomination correspondant à l'ID. Par exemple, pour une photo ayant l'ID 28, le champs LensType affichera : Minolta/Sony AF 100mm F2.8 Macro (D) or Tamron Lens. Il ne semble pas possible de modifier se champs

Et enfin il y a le champs Lens. Se champs reprends aussi la dénomination correspondant à l'ID, mais en se contentant de la première partie. Pour une photo prise avec un Tamron SP AF 90mm F2.8 Di Macro, l'ID étant 28, le champs Lens affichera simplement Minolta/Sony AF 100mm F2.8 Macro (D). C'est cette partie que l'on va modifier avec le script !

nelson
Messages : 4530
Photos : 28
Inscription : 09 Mars 2007
Localisation : Valenciennes (59)
/

#5 Message Lun 21 Nov 2011 22:56


Ok merci pour les precisions

iVoyger
Avatar de l’utilisateur
Messages : 3199
Photos : 3
Inscription : 15 Fév 2010
Localisation : Lyon
Contact :

#6 Message Lun 21 Nov 2011 22:57


De rien ! :commeca:

Tu comptes l'utiliser pour ton 105 ?

nelson
Messages : 4530
Photos : 28
Inscription : 09 Mars 2007
Localisation : Valenciennes (59)
/

#7 Message Mar 22 Nov 2011 09:27


Là je n'ai pas trop le temps mais il faut quand même vérifier quelques truc car j'utilise le plus souvent Aperture et parfois DxO et si on modifie des choses sur le Raw avec un autre logiciel, Dxo ne peut plus le traiter.

matieu
Avatar de l’utilisateur
Messages : 2101
Photos : 44
Inscription : 25 Fév 2009
Localisation : en Creuse

#8 Message Mar 22 Nov 2011 13:57


Je regarderai ça de près ce soir. Merci ;)
7D + 24-105 + 300/4 ; nex-6 + 16-70 + 35/1,8

iVoyger
Avatar de l’utilisateur
Messages : 3199
Photos : 3
Inscription : 15 Fév 2010
Localisation : Lyon
Contact :

#9 Message Mar 22 Nov 2011 16:04


De rien ! :commeca:

N'hésitez pas à faire des retours sur le fonctionnement :)

iVoyger
Avatar de l’utilisateur
Messages : 3199
Photos : 3
Inscription : 15 Fév 2010
Localisation : Lyon
Contact :

#10 Message Mar 13 Déc 2011 11:55


Petite mise Ă  jour de l'application, voir description ! :wink:

nelson
Messages : 4530
Photos : 28
Inscription : 09 Mars 2007
Localisation : Valenciennes (59)
/

#11 Message Mar 13 Déc 2011 13:20


Cool merci. J'ai eu un peu de temps pour essayer.
Alors qq problèmes non pas de mise en fonction mais de résultats. Dans DxO il n'y a plus de nom d'objectif du tout (alors qu'avant j'avais le Minolta 100-300 au lieu du Sigma 105 macro) (copie sur fond noir)
Dans Apercu, j'ai les deux noms. cf copie d'écran.
D'autre part, je ne sais pas si cela aurait un effet , dans DxO par exemple, ou PTLens pour "tricher" sur le type d'objectif. Ou si le script ne fait que modifier "cosmétiquement" le nom de l'objectif ??
Une idée ?
A bientĂ´t merci

iVoyger
Avatar de l’utilisateur
Messages : 3199
Photos : 3
Inscription : 15 Fév 2010
Localisation : Lyon
Contact :

#12 Message Mar 13 Déc 2011 15:23


Alors effectivement, la correction n'est que "cosmétique". On forcer à changer le nom d'objectif affiché dans le champs désigné malgré le numéro ID.

Ensuite, pour ce qui est des autres champs qui n'indique pas le Sigma que tu as modifié, c'est lié à ce que j'avais dis plus haut : il existe plusieurs champs pour renseigner le type d'objectif (mais un seul semble modifiable) :

iVoyger a écrit :Alors je n'ai pas DxO mais je peux expliquer pourquoi : il y a en réalité 3 champs qui vont renseigner l'objectif utilisé dans les Exif.

Le premier, c'est le champs LensID, que l'on peut modifier.
Chaque objectif Sony ou Minolta possède sont propre ID, les objectifs de marques tierces ont des ID dérivés de ceux de Sony ou Minolta par correspondance. Je m'explique : je prends l'exemple de l'ID 28 ; cet ID correspond a Minolta/Sony AF 100mm F2.8 Macro (D) or Tamron Lens. Et l'objectif Tamron ayant un dérivé de l'ID 28 est le Tamron SP AF 90mm F2.8 Di Macro qui a l'ID 28.1 . Seulement le .1 n'est pas pris en compte pour afficher le nom de l'objectif et c'est donc le nom correspondant à l'ID 28 qui sera affiché.

Il y a ensuite le champs LensType qui reprend la dénomination correspondant à l'ID. Par exemple, pour une photo ayant l'ID 28, le champs LensType affichera : Minolta/Sony AF 100mm F2.8 Macro (D) or Tamron Lens. Il ne semble pas possible de modifier se champs

Et enfin il y a le champs Lens. Se champs reprends aussi la dénomination correspondant à l'ID, mais en se contentant de la première partie. Pour une photo prise avec un Tamron SP AF 90mm F2.8 Di Macro, l'ID étant 28, le champs Lens affichera simplement Minolta/Sony AF 100mm F2.8 Macro (D). C'est cette partie que l'on va modifier avec le script !

nelson
Messages : 4530
Photos : 28
Inscription : 09 Mars 2007
Localisation : Valenciennes (59)
/

#13 Message Mar 13 Déc 2011 17:40


OK merci.

iVoyger
Avatar de l’utilisateur
Messages : 3199
Photos : 3
Inscription : 15 Fév 2010
Localisation : Lyon
Contact :

#14 Message Mar 13 Déc 2011 18:01


Pour DxO, comme c'est un logiciel qui gère les corrections pour les objectifs, il a peut-être besoin d'avoir la dénomination exacte. Pour ton 105 Sigma, ce n'est pas Sigma 105 Macro EX DG mais Sigma AF 105mm F2.8 EX DG Macro. Ça vaut le coup d'essayer :wink:

nelson
Messages : 4530
Photos : 28
Inscription : 09 Mars 2007
Localisation : Valenciennes (59)
/

#15 Message Mar 13 Déc 2011 18:20


Bien essayé mais ça ne change rien.

iVoyger
Avatar de l’utilisateur
Messages : 3199
Photos : 3
Inscription : 15 Fév 2010
Localisation : Lyon
Contact :

#16 Message Mar 13 Déc 2011 18:52


Ok je bosse dessus, je pense avoir trouvé le moyen de modifier toutes les données !

Surement une mise à jour dans la soirée ! :D


Revenir vers « Traitement numérique »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 4 invités