Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Objectif non reconnu sur des dizaines de photos
#1
Bonjour,

Parmi mes objectifs, j'en ai plusieurs qui ne sont pas reconnus automatiquement avec mon Canon 5D MkIII sous darktable. Ils existe bien dans la base d'objectifs et je peux le définir manuellement. Mais c'est laborieux d'ouvrir chaque image pour modifier le module de correction d'objectif à chaque fois.
Est-ce qu'il y aurait une solution simple pour affecter la modification à un ensemble de photos sélectionnées ?

Merci de votre aide.
JF
(darktable 4.4.2 sous ArchLinux)
Répondre
#2
Bonjour,

Je ne connais pas de méthode pour associer un objectif à une série de photos, mais on peut s'interroger sur le fait que dt n'identifie pas automatiquement celui-ci alors qu'il existe dans la liste et peut être associé manuellement.

J'ai déjà constaté qu'il pouvait y avoir un écart entre un nom d'objectif dans les données EXIF embarquées dans les RAWs et celui qui figure dans la "base" lensfun utilisée par dt. Le moindre écart (un espace, une majuscule ou minuscule, etc...) et le cailloux n'est pas identifié.

Ça peut se vérifier assez facilement en passant dans un terminal la commande pour une photo qui se nommerait maphoto.raw :
Code :
exiftool maphoto.raw | grep 'Lense ID'
Puis en comparant lettre à lettre ce qui est proposé dans la liste dt pour cet objectif.

Il est tout à fait possible de modifier la base lensfun si un écart existe.
dt stable / Ubuntu 22.04
Répondre
#3
(24-07-23, 21:03)manu a écrit : Bonjour,

Je ne connais pas de méthode pour associer un objectif à une série de photos, mais on peut s'interroger sur le fait que dt n'identifie pas automatiquement celui-ci alors qu'il existe dans la liste et peut être associé manuellement.

J'ai déjà constaté qu'il pouvait y avoir un écart entre un nom d'objectif dans les données EXIF embarquées dans les RAWs et celui qui figure dans la "base" lensfun utilisée par dt. Le moindre écart (un espace, une majuscule ou minuscule, etc...) et le cailloux n'est pas identifié.

Ça peut se vérifier assez facilement en passant dans un terminal la commande pour une photo qui se nommerait maphoto.raw :
Code :
exiftool maphoto.raw | grep 'Lense ID'
Puis en comparant lettre à lettre ce qui est proposé dans la liste dt pour cet objectif.

Il est tout à fait possible de modifier la base lensfun si un écart existe.

Tamron 100-400 :
Lens ID                        : Tamron 100-400mm f/4.5-6.3 Di VC USD (A035)
Dans darktable il est proposé en tant que "TAMRON 100-400mm f/4.5-6.3 Di VC USD A035"

Tamron 24-70 :
Lens ID                        : Sigma 24-70mm f/2.8 IF EX DG HSM or Tamron SP 24-70mm f/2.8 Di VC USD
Là vu qu'il en a 2, je peux comprendre.

Tamron 35 :
Lens ID                        : Tamron 35mm f/1.8 Di VC USD (F012)
Dans darktable il est proposé en tant que "Tamron 35mm f/1.8 Di VC USD F012"

Ce serait donc un problème de majuscules et parenthèses ?

JF
Répondre
#4
Bonsoir,
Comme dt utilise exiv2 pour récupérer les exifs, il faudrait voir ce que donne exiv2 :
exiv2 -pt monfichier.raw | grep -ai Lens

Sinon on peut "customiser" exiv2 avec un fichier ~/.exiv2
voir post
https://forums.darktable.fr/showthread.p...2#pid54542
Cordialement
Mes photos
dt compilé en local, dernière version officielle et master
Répondre
#5
(24-07-23, 22:23)Jean-Francois a écrit : Ce serait donc un problème de majuscules et parenthèses ?
J'ai déjà rencontré ça et je suggérerais de :
  1. lancer une mise à jour de la "base" lensfun :
    Code :
    sudo lensfun-update-data

  2. copier /var/lib/lensfun-updates/version_1/slr-tamron.xml dans ~/.local/share/lensfun/
    Cela va installer une copie personnelle (associée au user en cours sur la session) de la base lensfun pour les objectifs Tamron. Ainsi, elle ne sera pas écrasée lors d'une prochaine mise à jour de la base lensfun, il ne faut pas l'oublier. Mais ça ne sera que pour les Tamron.
    S'il existe un sous-dossier updates dans ~/.local/share/lensfun/ il peut être supprimé, il aura été créé lors d'un précédent lensfun-update-data exécuté sans sudo.

  3. modifier avec un éditeur de texte (gedit par exemple) ~/.local/share/lensfun/slr-tamron.xml aux lignes <model> où sont décrits les objectifs non reconnus par dt :
    • TAMRON 100-400mm f/4.5-6.3 Di VC USD A035 par Tamron 100-400mm f/4.5-6.3 Di VC USD (A035)
    • Tamron 35mm f/1.8 Di VC USD F012 par Tamron 35mm f/1.8 Di VC USD (F012)
    • etc.
    Évidemment, il faut que les textes de remplacement soient rigoureusement ceux donnés par exiftool ou exiv2 (Exif.Photo.LensModel).

Ensuite dans dt (relancé), les "nouveaux" objectifs devraient apparaître dans la liste, les paramètres lensfun n'ayant pas été changés par le remplacement du <model>.

[Image: Capture-d-cran-du-2023-07-25-08-47-10.png]

Et, a priori, dt devrait donc bien reconnaître automatiquement à présent ces cailloux.
dt stable / Ubuntu 22.04
Répondre
#6
En complément de la solution de manu,
S'il n'existe pas de chaîne de caractère décrivant l'objectif (Exif.Photo.LensModel ou autres) dans les exifs, je pense peut-être au Tamron 24-70 sur lequel exiftool hésite, on peut alors rajouter dans un fichier ~/.exiv2, une association LensIDnumber et chaine de caractère choisie,(si lensIDnumber existe) qui permet d'identifier le cailloux.
on peut voir l’absence de nom avec exiv2 ou avec information sur l'image de dt.
Cordialement.
Mes photos
dt compilé en local, dernière version officielle et master
Répondre
#7
Merci beaucoup pour ces éclaircissements.

Avec exiv2 :
Exif.Photo.LensModel Ascii 42 TAMRON 100-400mm F/4.5-6.3 Di VC USD A035
Exif.Photo.LensModel Ascii 8 24-70mm
Exif.Photo.LensModel Ascii 36 TAMRON SP 35mm F/1.8 Di VC USD F012

Pour le 100-400 c'est déjà conforme à ce qui est dans le fichier slr-tamron.xml. J'ai tout de même tenté de recopier ce que me donne exiv2, au cas où, mais ça ne donne rien de mieux.

Pour le 24-70, il faut donc que je passe par un .exiv2 si je comprends bien. Mais comment je trouve le LensID ?

Pour le 35mm j'ai modifié le slr-tamron.xml. Il faudra que je teste sur de nouvelles photos, je ne l'ai pas utilisé dernièrement.

Cordialement
Répondre
#8
Je réponds pour le 24-70 seulement.

C'est très bizarre ton Pb. Car je possède cet objectif depuis environ 10 ans. Au début, certes, il n'était pas qualifié dans la BdD Lensfun, alors je me suis attelé à la tâche et j'ai produit la première qualification pour cet objectif qui a été intégrée dans Lensfun. Depuis lors, plus aucun pb.

Les fichiers que je traite contiennent ceci :

Code :
exiftool ~/Photos/exemple/exemple_tamron.NEF | grep -i lens
Lens Type                      : G VR
Lens                            : 24-70mm f/2.8
Lens Data Version              : 0204
Lens ID Number                  : 254
Lens F Stops                    : 6.00
Lens ID                        : Tamron SP 24-70mm f/2.8 Di VC USD (A007)
Lens Spec                      : 24-70mm f/2.8 G VR

exiv2 -pe ~/Photos/exemple/exemple_tamron.NEF | grep -i lens
Exif.Nikon3.LensType                         Byte        1  14
Exif.Nikon3.Lens                             Rational    4  240/10 700/10 28/10 28/10
Exif.Nikon3.LensFStops                       Undefined   4  72 1 12 0
Exif.NikonLd3.LensIDNumber                   Byte        1  254
Exif.NikonLd3.LensFStops                     Byte        1  72

Quand je regarde le fichier le la BdD Lensfun : « /usr/share/lensfun/version_1/slr-tamron.xml », je trouve ceci :

Code :
<lens>
        <!-- This lens is optically identical to the HD Pentax-D FA 24-70mm
             f/2.8 ED SDM WR. -->
        <maker>Tamron</maker>
        <model>Tamron SP 24-70mm f/2.8 Di VC USD</model>
        <mount>Canon EF</mount>
        <mount>Nikon F AF</mount>
        <cropfactor>1</cropfactor>
        <calibration>
            <distortion model="ptlens" focal="24" a="0.03519" b="-0.10395" c="0.06092"/>
            <distortion model="ptlens" focal="35" a="0.01436" b="-0.0404" c="0.03983"/>
            <distortion model="ptlens" focal="50" a="0.01112" b="-0.02223" c="0.02177"/>
            <distortion model="ptlens" focal="70" a="0.00625" b="-0.00862" c="0.00987"/>
            <tca model="poly3" focal="24" br="-0.0000913" vr="1.0008446" bb="0.0000181" vb="0.9998653"/>
            <tca model="poly3" focal="35" br="0.0000457" vr="1.0004519" bb="-0.0000735" vb="0.9998598"/>
            <tca model="poly3" focal="50" br="0.0000118" vr="1.0000938" bb="-0.0000862" vb="0.9998401"/>
            <tca model="poly3" focal="70" br="-0.0000161" vr="0.9997567" bb="-0.0000354" vb="0.9997991"/>
        </calibration>
    </lens>
    <lens>
        <maker>Tamron</maker>
        <!-- The official name of the lens -->
        <model>Tamron SP 24-70mm F/2.8 Di VC USD G2 (A032)</model>
        <!-- The 'LensIDNumber' EXIF tag - use with old versions of exiv2 -->
        <!--- <model>206</model> -->
        <mount>Canon EF</mount>
        <mount>Nikon F AF</mount>
        <cropfactor>1</cropfactor>
        <calibration>
            <distortion model="ptlens" focal="24" a="0.03171" b="-0.08853" c="0.03481"/>
            <distortion model="ptlens" focal="29" a="0.021" b="-0.053" c="0.019"/>
            <distortion model="ptlens" focal="32" a="0.01185" b="-0.02406" c="0.00346"/>
            <distortion model="ptlens" focal="38" a="0.0113" b="-0.02543" c="0.01625"/>
            <distortion model="ptlens" focal="46" a="0.00246" b="0.00392" c="-0.00871"/>
            <distortion model="ptlens" focal="55" a="0.00293" b="0.00193" c="-0.00236"/>
            <distortion model="ptlens" focal="66" a="-0.00224" b="0.02068" c="-0.02248"/>
            <distortion model="ptlens" focal="70" a="0.00297" b="0.00297" c="-0.004"/>
            <tca model="poly3" focal="24" vr="1.0003340" vb="0.9999497"/>
            <tca model="poly3" focal="29" vr="1.0003651" vb="0.9998733"/>
            <tca model="poly3" focal="32" vr="1.0003268" vb="0.9998101"/>
            <tca model="poly3" focal="38" vr="1.0002316" vb="0.9998011"/>
            <tca model="poly3" focal="46" vr="1.0001129" vb="0.9997867"/>
            <tca model="poly3" focal="55" vr="1.0000077" vb="0.9998272"/>
            <tca model="poly3" focal="66" vr="0.9998887" vb="0.9998649"/>
            <tca model="poly3" focal="70" vr="0.9998659" vb="0.9998745"/>
            <vignetting model="pa" focal="24" aperture="2.8" distance="10" k1="-0.7353" k2="-0.3358" k3="0.3127"/>
            <vignetting model="pa" focal="24" aperture="2.8" distance="1000" k1="-0.7353" k2="-0.3358" k3="0.3127"/>
            <vignetting model="pa" focal="24" aperture="4" distance="10" k1="-0.9585" k2="0.8746" k3="-0.5299"/>
            <vignetting model="pa" focal="24" aperture="4" distance="1000" k1="-0.9585" k2="0.8746" k3="-0.5299"/>
            <vignetting model="pa" focal="24" aperture="5.6" distance="10" k1="-0.9312" k2="0.6998" k3="-0.2940"/>
            <vignetting model="pa" focal="24" aperture="5.6" distance="1000" k1="-0.9312" k2="0.6998" k3="-0.2940"/>
            <vignetting model="pa" focal="24" aperture="8" distance="10" k1="-0.9264" k2="0.6718" k3="-0.2661"/>
            <vignetting model="pa" focal="24" aperture="8" distance="1000" k1="-0.9264" k2="0.6718" k3="-0.2661"/>
            <vignetting model="pa" focal="24" aperture="22" distance="10" k1="-0.9324" k2="0.6781" k3="-0.2688"/>
            <vignetting model="pa" focal="24" aperture="22" distance="1000" k1="-0.9324" k2="0.6781" k3="-0.2688"/>
            <vignetting model="pa" focal="31" aperture="2.8" distance="10" k1="-0.8093" k2="0.4443" k3="-0.3284"/>
            <vignetting model="pa" focal="31" aperture="2.8" distance="1000" k1="-0.8093" k2="0.4443" k3="-0.3284"/>
            <vignetting model="pa" focal="31" aperture="4" distance="10" k1="-0.8959" k2="0.9608" k3="-0.6089"/>
            <vignetting model="pa" focal="31" aperture="4" distance="1000" k1="-0.8959" k2="0.9608" k3="-0.6089"/>
            <vignetting model="pa" focal="31" aperture="5.6" distance="10" k1="-0.7922" k2="0.5343" k3="-0.2074"/>
            <vignetting model="pa" focal="31" aperture="5.6" distance="1000" k1="-0.7922" k2="0.5343" k3="-0.2074"/>
            <vignetting model="pa" focal="31" aperture="8" distance="10" k1="-0.7902" k2="0.5159" k3="-0.1875"/>
            <vignetting model="pa" focal="31" aperture="8" distance="1000" k1="-0.7902" k2="0.5159" k3="-0.1875"/>
            <vignetting model="pa" focal="31" aperture="22" distance="10" k1="-0.7991" k2="0.5301" k3="-0.1956"/>
            <vignetting model="pa" focal="31" aperture="22" distance="1000" k1="-0.7991" k2="0.5301" k3="-0.1956"/>
            <vignetting model="pa" focal="35" aperture="2.8" distance="10" k1="-0.7706" k2="0.5671" k3="-0.4529"/>
            <vignetting model="pa" focal="35" aperture="2.8" distance="1000" k1="-0.7706" k2="0.5671" k3="-0.4529"/>
            <vignetting model="pa" focal="35" aperture="4" distance="10" k1="-0.7869" k2="0.8146" k3="-0.5135"/>
            <vignetting model="pa" focal="35" aperture="4" distance="1000" k1="-0.7869" k2="0.8146" k3="-0.5135"/>
            <vignetting model="pa" focal="35" aperture="5.6" distance="10" k1="-0.6801" k2="0.3974" k3="-0.1379"/>
            <vignetting model="pa" focal="35" aperture="5.6" distance="1000" k1="-0.6801" k2="0.3974" k3="-0.1379"/>
            <vignetting model="pa" focal="35" aperture="8" distance="10" k1="-0.6829" k2="0.3940" k3="-0.1297"/>
            <vignetting model="pa" focal="35" aperture="8" distance="1000" k1="-0.6829" k2="0.3940" k3="-0.1297"/>
            <vignetting model="pa" focal="35" aperture="22" distance="10" k1="-0.6871" k2="0.3936" k3="-0.1274"/>
            <vignetting model="pa" focal="35" aperture="22" distance="1000" k1="-0.6871" k2="0.3936" k3="-0.1274"/>
            <vignetting model="pa" focal="45" aperture="2.8" distance="10" k1="-0.7319" k2="0.5627" k3="-0.4417"/>
            <vignetting model="pa" focal="45" aperture="2.8" distance="1000" k1="-0.7319" k2="0.5627" k3="-0.4417"/>
            <vignetting model="pa" focal="45" aperture="4" distance="10" k1="-0.6223" k2="0.5431" k3="-0.3315"/>
            <vignetting model="pa" focal="45" aperture="4" distance="1000" k1="-0.6223" k2="0.5431" k3="-0.3315"/>
            <vignetting model="pa" focal="45" aperture="5.6" distance="10" k1="-0.5375" k2="0.2183" k3="-0.0437"/>
            <vignetting model="pa" focal="45" aperture="5.6" distance="1000" k1="-0.5375" k2="0.2183" k3="-0.0437"/>
            <vignetting model="pa" focal="45" aperture="8" distance="10" k1="-0.5497" k2="0.2472" k3="-0.0626"/>
            <vignetting model="pa" focal="45" aperture="8" distance="1000" k1="-0.5497" k2="0.2472" k3="-0.0626"/>
            <vignetting model="pa" focal="45" aperture="22" distance="10" k1="-0.5527" k2="0.2440" k3="-0.0586"/>
            <vignetting model="pa" focal="45" aperture="22" distance="1000" k1="-0.5527" k2="0.2440" k3="-0.0586"/>
            <vignetting model="pa" focal="50" aperture="2.8" distance="10" k1="-0.6891" k2="0.4847" k3="-0.4469"/>
            <vignetting model="pa" focal="50" aperture="2.8" distance="1000" k1="-0.6891" k2="0.4847" k3="-0.4469"/>
            <vignetting model="pa" focal="50" aperture="4" distance="10" k1="-0.6140" k2="0.7127" k3="-0.5379"/>
            <vignetting model="pa" focal="50" aperture="4" distance="1000" k1="-0.6140" k2="0.7127" k3="-0.5379"/>
            <vignetting model="pa" focal="50" aperture="5.6" distance="10" k1="-0.5116" k2="0.2965" k3="-0.1450"/>
            <vignetting model="pa" focal="50" aperture="5.6" distance="1000" k1="-0.5116" k2="0.2965" k3="-0.1450"/>
            <vignetting model="pa" focal="50" aperture="8" distance="10" k1="-0.4777" k2="0.1560" k3="-0.0171"/>
            <vignetting model="pa" focal="50" aperture="8" distance="1000" k1="-0.4777" k2="0.1560" k3="-0.0171"/>
            <vignetting model="pa" focal="50" aperture="22" distance="10" k1="-0.4855" k2="0.1658" k3="-0.0225"/>
            <vignetting model="pa" focal="50" aperture="22" distance="1000" k1="-0.4855" k2="0.1658" k3="-0.0225"/>
            <vignetting model="pa" focal="60" aperture="2.8" distance="10" k1="-0.5333" k2="-0.0788" k3="-0.1139"/>
            <vignetting model="pa" focal="60" aperture="2.8" distance="1000" k1="-0.5333" k2="-0.0788" k3="-0.1139"/>
            <vignetting model="pa" focal="60" aperture="4" distance="10" k1="-0.5424" k2="0.7270" k3="-0.7141"/>
            <vignetting model="pa" focal="60" aperture="4" distance="1000" k1="-0.5424" k2="0.7270" k3="-0.7141"/>
            <vignetting model="pa" focal="60" aperture="5.6" distance="10" k1="-0.5755" k2="0.7550" k3="-0.6229"/>
            <vignetting model="pa" focal="60" aperture="5.6" distance="1000" k1="-0.5755" k2="0.7550" k3="-0.6229"/>
            <vignetting model="pa" focal="60" aperture="8" distance="10" k1="-0.4850" k2="0.3628" k3="-0.2353"/>
            <vignetting model="pa" focal="60" aperture="8" distance="1000" k1="-0.4850" k2="0.3628" k3="-0.2353"/>
            <vignetting model="pa" focal="60" aperture="22" distance="10" k1="-0.4263" k2="0.1109" k3="-0.0046"/>
            <vignetting model="pa" focal="60" aperture="22" distance="1000" k1="-0.4263" k2="0.1109" k3="-0.0046"/>
            <vignetting model="pa" focal="70" aperture="2.8" distance="10" k1="-0.6878" k2="0.2182" k3="-0.2304"/>
            <vignetting model="pa" focal="70" aperture="2.8" distance="1000" k1="-0.6878" k2="0.2182" k3="-0.2304"/>
            <vignetting model="pa" focal="70" aperture="4" distance="10" k1="-0.4472" k2="0.5440" k3="-0.5921"/>
            <vignetting model="pa" focal="70" aperture="4" distance="1000" k1="-0.4472" k2="0.5440" k3="-0.5921"/>
            <vignetting model="pa" focal="70" aperture="5.6" distance="10" k1="-0.4902" k2="0.5962" k3="-0.5018"/>
            <vignetting model="pa" focal="70" aperture="5.6" distance="1000" k1="-0.4902" k2="0.5962" k3="-0.5018"/>
            <vignetting model="pa" focal="70" aperture="8" distance="10" k1="-0.3866" k2="0.1643" k3="-0.0834"/>
            <vignetting model="pa" focal="70" aperture="8" distance="1000" k1="-0.3866" k2="0.1643" k3="-0.0834"/>
            <vignetting model="pa" focal="70" aperture="22" distance="10" k1="-0.3623" k2="0.0485" k3="0.0246"/>
            <vignetting model="pa" focal="70" aperture="22" distance="1000" k1="-0.3623" k2="0.0485" k3="0.0246"/>
        </calibration>
    </lens>
 

Il y a donc deux versions de cet objectif chez Tamron : l'ancienne, celle que je possède, et la nouvelle qualifiée « G2 ». L'ancienne reprend exactement les mesures que j'avais faites. Le lens ID Number est celui retourné par exiftool ou exiv2 (voir plus haut) : 254.

La seconde à un Lens ID Number qui est mentionné dans l'extrait de la BdD Lensfun que j'ai joint plus haut : 206

C'est important, car ce Lens ID Number est la seule information produite par les boitiers dans les fichiers. Mais celui-ci est trop court (1 octet, donc de 0 à 255). Il a été conçu en partant de l'idée (fausse), que seuls les fabricants de boitiers fournissent des objectifs pour ce boitier. Il ne tient pas compte des fabricants tiers. Il arrive en conséquence, qu'il y plusieurs objectifs portant le même ID number coexistent pour le même boitier. Les logiciels (exiftool ou exiv2) doivent alors extrapoler le Lens ID (chaine de caractère) à partir de ce numéro et d'autres caractéristiques, ouverture max et/ou min, focale max et/ou min, etc. Peut-être que c'est là que tu as un Pb. Ce qui fonctionne pour moi avec mes fichiers NEF, ne fonctionne pas pour toi avec tes CR2 ?

Dans ce cas, la meilleure solution, c'est d'aider exiv2 avec une définition personnelle dans le fichier mentionné par @cobert : « ~/.exiv2 ».
Mes photos : jpverrue.fr
Répondre
#9
Oui, bizarre,
Si tu peux fournir un raw avec le 24-70 pour essai avec « ~/.exiv2 ».
Cordialement.
Mes photos
dt compilé en local, dernière version officielle et master
Répondre
#10
(26-07-23, 11:24)Cobert a écrit : Oui, bizarre,
Si tu peux fournir un raw avec le 24-70 pour essai avec « ~/.exiv2 ».
Cordialement.

Je viens d'en uploader un ici : http://bdmlphoto1.free.fr/5D3_4227.CR2

Cordialement.
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 3 visiteur(s)