Sima78 - Mot-clé - Photgraphie<p>Linux - Logiciel libre - Randonnées et autres.</p>2024-03-27T19:27:43+01:00Sima78urn:md5:ac998da534fd2e53a15e0e4882301d91DotclearMettre un logo ou signature sur vos images en ligne de commandeurn:md5:22d0e9d3a839361f074954838ddfc1912024-02-14T08:30:00+01:002024-02-15T15:32:13+01:00sima saApplicationsLigne de commandePhotgraphiePhotosTerminal<figure class="media-left"><img alt="ImageMagick, déc. 2023" class="media" src="https://sima78.chispa.fr/public/terminal/Applications/logo-ImageMagick.png" />
<figcaption>logo ImageMagick</figcaption>
</figure>
<h2>Je vous propose aussi un script Bash pour le faire par lot</h2>
<p>Je compte enrichir mon Pixelfed avec certaines de mes photos et je me disais que mettre un petit logo sur chacune de mes images serait bien, puisque celles actuelles ne sont pas signées.</p>
<p>Pour cela il faudra installer ImageMagick pour l’accès à ses composants car nous devrons utiliser la commande « composite ».</p>
<p>J’avoue avoir un peu galéré car il manque quelques informations sur le « man composite », rassurez-vous, je vous vous mets tout !</p> <h3>Précision :</h3>
<p>Si vos images sont en « .jpg » faites votre logo à un format différent pour plus de commodité du genre « .png ». Ce n’est pas obligatoire si vous ne mettez pas le logo dans le même répertoire et que vous précisez son chemin.</p>
<h2>Ajouter un logo à vos images en ligne de commande</h2>
<h3>Le basique</h3>
<pre>
composite -geometry +15+15 votrelogo.png image-original.jpg image-finale.jpg</pre>
<ul>
<li>composite est la commande pour superposer des images.</li>
<li>-geometry +15+15 spécifie la position de votre logo par rapport au coin supérieur gauche.</li>
<li>+15+15 pixels vous pouvez préciser plus ou moins.</li>
</ul>
<p><em>Oui mais moi Sima je veux que ce soit en bas à gauche !<br />
Pas de souci...</em></p>
<pre>
composite -gravity southwest -geometry +15+15 votrelogo.png image-original.jpg image-finale.jpg</pre>
<ul>
<li>-gravity southwest spécifie la position dans le coin inférieur gauche de l’image.</li>
<li>-gravity southeast en bas à droite</li>
<li>-gravity center -geometry +0+0 au centre</li>
</ul>
<figure class="media-center"><a class="media-link" href="https://sima78.chispa.fr/public/terminal/Applications/image-finale-02.jpg" target="_blank" title="photo avec logo Sima78"><img alt="photo avec logo Sima78, déc. 2023" class="media" src="https://sima78.chispa.fr/public/terminal/Applications/.image-finale-02_m.jpg" /></a>
<figcaption>photo avec logo Sima78</figcaption>
</figure>
<p><em>Sima, c’est bien beau tout ça, mais je ne veux pas me faire chier m’embêter à faire image par image, j’en ai des centaines…<br />
Ok, passons au petit script sans prétention.</em></p>
<h3>Script pour ajouter un logo par lot.</h3>
<pre>
#!/bin/bash
logo="votrelogo.png"
for image in *.jpg; do
output="output_${image}"
composite -gravity southwest -geometry +15+15 "${logo}" "${image}" "${output}"
done</pre>
<p>Si vos images ont toutes une extension .JPG donc en majuscule il faudra modifier le script car là il ne prend que l’extension en minuscule. Vous pouvez modifier pour qu’il accepte les deux, Bref, il <strong>s’agit d’une base qui ne demande qu’à être améliorée.</strong></p>
<ul>
<li>logo est le nom du fichier de votrelogo.</li>
<li>Assurez-vous que le fichier du logo est dans le même répertoire que vos images ou spécifiez le chemin complet.</li>
<li>La boucle for image in *.jpg parcourt tous les fichiers avec l’extension .jpg dans le répertoire courant. Vous pouvez ajuster l’extension selon le format de vos images.</li>
<li>output="output_${image}" définit le nom du fichier de sortie en ajoutant le préfixe "output_" au nom de chaque image d’entrée. Vous pouvez personnaliser le préfixe.</li>
<li>composite est utilisée à l’intérieur de la boucle pour ajouter le logo.</li>
</ul>
<p>Enregistrez ce script sous le nom de votre choix du genre ajout-logo.sh</p>
<p>Rendez-le exécutable avec la commande</p>
<p><code>chmod +x ajout-logo.sh</code></p>
<p><strong>Puis exécutez-le dans le répertoire contenant vos images.</strong></p>
<p>Vous pouvez en papprendre un peu plus sur l'article <a class="ref-post" href="https://sima78.chispa.fr/index.php?post/2015/05/03/Initiation-au-shell-boucle-%28for%2C-do%2C-done%29" lang="FR" target="_blank" title="Initiation au shell boucle (for, do, done)">Initiation au shell boucle (for, do, done)</a></p>
<p>Il y a aussi une possibilité avec la commande « find » mais attention dans ce cas c’est récursif et cela modifiera tous vos fichiers .jpg se trouvant dans les sous-répertoires, mais ça peut être utile.</p>
<p>Avec l’option « -iname » peut importe que l’extension .jpg soit en majuscule ou pas.</p>
<pre>
find /chemin/vers/le_dossier/de_vos_images -type f -iname "*.jpg" -exec composite -gravity southeast -geometry +15+15 /chemin/vers/votrelogo.png {} {} \;</pre>
<p><strong>Qu’en pensez-vous ? Vous avez d’autres astuces en ligne de commande, je suis preneur !</strong></p>
<p>Le billet <a class="ref-post" href="https://sima78.chispa.fr/index.php?post/2023/12/23/Mettre-un-logo-ou-signature-sur-vos-images-en-ligne-de-commande">Mettre un logo ou signature sur vos images en ligne de commande</a> est apparu en premier sur le blog de <a class="ref-post" href="https://sima78.chispa.fr/index.php?" lang="FR" target="_blank" title="Blog de Sima78">Sima78</a>.</p>Mettre un filigrane sur des documents officiels - ligne de commandeurn:md5:afcbe33b290ede6f90a91423c9d722f02021-03-20T17:58:00+01:002021-08-30T08:41:28+02:00sima saTutoLigne de commandeMétadonnées EXIFPhotgraphiePhotosVie-privée<h3><img alt="" src="https://sima78.chispa.fr/public/securite-humeur/finigrane/CNI-blog-logo.png" style="float: left; margin: 0 1em 1em 0;" />Mettre un filigrane [ImageMagick] et supprimer les métadonnées [ExifTool] sur des documents officiels que nous devons envoyer via le web ou par mail.</h3>
<p><strong>Le tout en ligne de commande depuis un terminal. </strong></p>
<p>Un billet comme un conseil dans ce monde soi-disant idéal de la dématérialisation.</p>
<p>Dans beaucoup de procédures télématiques, il nous est demandé des copies de nos documents personnels, tel que notre pièce d'identité (on va prendre cet exemple dans ce billet).</p>
<p>L’idée de ce billet me vient d’une discussion téléphonique avec une administration qui me demandait d’envoyer une photocopie ou scan de ma carte d’identité.</p> <blockquote>
<p><em>Curieux, je demande : D’accord, qu’allez-vous faire de cette pièce, c’est très personnel, où sera t-elle stockée, pour combien de temps ? Quelle garantis donnez-vous ?<br />
Réponse : Ne vous inquiétez pas, nous avons des services très spécialisés et toutes les données sont cryptées !<br />
Ha, le mot est lâché, rassurant, "cryptées"...<br />
Moi : Vous me demandez d’envoyer par mail, ça arrive sur une boite mail où je suppose que plusieurs personnels du service y ont accès, comment est géré la boite mail, qui y a accès, est-elle sécurisée ?...<br />
Réponse : Faites-le directement depuis notre site web, il y a le petit cadenas en haut à gauche, tous est crypté...<br />
Ouh là là, "crypté" le mot qui se voudrait rassurant et qui pourtant me fait pousser les poils des oreilles.<br />
Moi : soit, la communication de bout en bout est chiffrée, mais une fois ma pièce envoyée, la carte d’identité, que devient-elle ?<br />
Réponse : Nous avons des spécialistes de la sécurité et tout est crypté...<br />
Moi : bon je résume, je vous envoie un document en clair, transparent via votre site, il se retrouve quelque part sur l’un de vos disques durs, sans que je sache qui y a accès ni ce que deviendra ce document...<br />
Il me coupe la parole... : Je vous l’ai dit, tout est sécurisé et crypté…<br />
Moi : Je peux imaginer que l’accès aux disques ou support soient sécurisés, que les disques dur soient chiffrés, ou comme vous dites, cryptés, mon document lui est en clair et les disques, une fois montés et même chiffrés, les données restent en clair...<br />
...</em></p>
</blockquote>
<p>Bon je vous fais grâce de la suite de la discussion de sourd.</p>
<p><strong>Dans un monde idéal...</strong></p>
<p>Une fois votre document scanné, l'idéal est de réaliser un <a href="https://fr.wikipedia.org/wiki/Cryptographie_asym%C3%A9trique" hreflang="fr" target="_blank" title="Chiffrement Asymétrique">chiffrement asymétrique</a>, soit avec votre certificat numérique, soit avec d’une autre façon comme par exemple en utilisant "gpg" (j’aime bien <a href="https://fr.wikipedia.org/wiki/GNU_Privacy_Guard" hreflang="fr" target="_blank" title="Gnupg">gnupg</a>, je l’utilise pour mes signatures et chiffrement de mes mails et autres...) afin que personne ne puisse lire le document envoyé, sauf celui qui doit le réceptionner.</p>
<p>Mais que ce soit dans l’administration ou ailleurs, il est très rare que l’on se préoccupe réellement de la sécurité de ce que l’on envoie.</p>
<h3>Ajouter un filigrane.</h3>
<p>Dans le cas où le destinataire ne sait pas comment fonctionne le chiffrement et c’est malheureusement souvent le cas, nous pouvons choisir l'option d'ajouter un filigrane à nos documents privés. D’autant plus que nous ne saurons pas où sera notre document ni pour combien de temps...</p>
<p>Nous allons ajouter en ligne de commande un filigrane sur notre document avec <a href="https://imagemagick.org" hreflang="en" target="_blank" title="ImageMagick">ImageMagick</a>.</p>
<p>Vérifions s’il est déjà, ou pas, installé sur notre pc.</p>
<pre>
dpkg --get-selections | grep imagemagick
imagemagick install
imagemagick-6-common install
imagemagick-6.q16 install </pre>
<p>Si vous avez quelque chose de similaire à ci-dessus, c’est qu’il est installé, sinon il n'afficherait rien.<br />
S’il n’est pas installé, il suffit de :</p>
<pre>
sudo apt install imagemagick</pre>
<p>Une fois installé, nous pouvons utiliser tous les outils "ImageMagick". Dans cet exemple, nous partirons d'une image test que j'ai trouvé sur le net et qui porte le nom "CNI-blog.jpg", vous l'aurez remarqué, je suis un peu plus vieux que sur la photo :</p>
<p><img alt="" src="https://sima78.chispa.fr/public/securite-humeur/finigrane/CNI-blog.jpg" style="margin: 0 auto; display: block;" /></p>
<p>Afin d'ajouter un filigrane à l'image, nous allons exécuter la commande "convert" avec les options suivantes dans le même répertoire où se trouve notre image:</p>
<pre>
convert -density 150 -fill "rgba(255,0,0,0.25)" -gravity Center -pointsize 60 -draw "rotate -45 text 0,0 'COPIE'" CNI-blog.jpg CNI-blog-final.jpg</pre>
<p>Description des options utilisées:</p>
<ul>
<li>density: La résolution de la largeur de l'image avec l'unité de points par pouce (PPI).</li>
<li>fill: Couleur à utiliser.</li>
<li>gravity Center: position du texte, dans ce cas centrée sur l'image.</li>
<li>pointsize: taille en points de la police.</li>
<li>draw: annoter l'image avec une précision. Dans ce cas, avec un texte pivoté de 45 degrés dans le sens antihoraire dans les coordonnées X, Y 0,0 et le texte entre guillemets simples.</li>
<li>Ensuite, le fichier source où les modifications seront appliquées (CNI-blog.jpg) et le fichier de destination qui sera créé (CNI-blog-final.jpg).</li>
</ul>
<p>Le résultat :</p>
<p><img alt="" src="https://sima78.chispa.fr/public/securite-humeur/finigrane/CNI-blog-final.jpg" style="margin: 0 auto; display: block;" /></p>
<p>Pour compliquer les choses il conviendrait de personnaliser notre filigrane en fonction de chaque procédure:</p>
<pre>
convert -density 150 -fill "rgba(255,0,0,0.50)" -pointsize 15 -draw "rotate -15 text 0,200 'COPIE POUR TRAITEMENT'" -draw "rotate -15 text -25,260 'DE RECENSEMENT'" CNI-blog.jpg CNI-blog-final-02.jpg</pre>
<p>Résultat suivant :</p>
<p><img alt="" src="https://sima78.chispa.fr/public/securite-humeur/finigrane/CNI-blog-final-02.jpg" style="margin: 0 auto; display: block;" /></p>
<h3>Supprimer les métadonnées</h3>
<p>Pour terminer, nous pouvons supprimer les métadonnées effaçables du fichier (<strong>en fait il faudrait commencer par là</strong>) avec le programme "<a href="https://exiftool.org" hreflang="en" target="_blank" title="ExifTool">exiftool</a>", ce programme peut être installé à partir des dépôts :</p>
<pre>
sudo apt install exiftool</pre>
<p>Puis :</p>
<pre>
exiftool CNI-blog-final-02.jpg</pre>
<p>Et pour supprimer les métadonnées de notre fichier image avec le filigrane créé, nous allons exécuter :</p>
<pre>
exiftool -all= CNI-blog-final-02.jpg
1 image files updated</pre>
<p>Pour voir que les métadonnées ont bien disparu comme le montre l'image ci-dessus, exécutez :</p>
<pre>
exiftool dni-final.jpg</pre>
<p>Ces étapes nous ont permis d'apposer un filigrane sur un document privé et de supprimer les métadonnées, de sorte à sécurisé à minima ce que nous envoyons.</p>
<p>J'espère que ces petites astuces vous aideront tout en restant loin de la préservation de la vie privée, mais parfois l'on doit faire à minima.</p>Créez une mosaïque avec vos photos sous Linuxurn:md5:12d56bfb79303bab5c5662b5ca6d2c122017-12-18T16:41:00+01:002021-08-29T20:26:56+02:00sima saApplicationsPhotgraphiePhotos<p><a href="https://sima78.chispa.fr/public/applications/pixelize/blonde-icone-001.png" title="pixelize icone"><img alt="pixelize icone" src="https://sima78.chispa.fr/public/applications/pixelize/blonde-icone-001.png" style="float: left; margin: 0 1em 1em 0;" title="pixelize icone, déc. 2017" /></a>J’avais déjà écris en 2005, un billet sur le sujet sur mon ancien blogs éteint depuis quelques années déjà. Je me suis souvenu de cet article et eu envie de vérifier si cette application existait toujours, et si oui, la tester de nouveau et le faire connaître par le biais d’un nouveau article.</p>
<h3>Créer une image avec une mosaïque de vos photos sous Gnu/Linux, c’était mieux avant !</h3>
<p><strong>Une mosaïque, d’après le Larousse est :</strong> <em>un assemblage de petits cubes ou parallélépipèdes multicolores (marbre, pâte de verre, etc.) juxtaposés de façon à former un dessin, et retenus par un ciment ; art d'exécuter ce type d'assemblage.</em></p>
<p>Si l’adage "c’était mieux avant" symbolise souvent l’expression du vieux con aigri déversant tout son fiel sur chaque nouveauté, parfois cette adage révèle un fait bien réelle… <strong>C’était mieux avant !</strong></p> <p>J’avais écrit un tutoriel sur Metapixel, j’ai voulu voir où le projet en est aujourd’hui, Il est à l’abandon depuis 2006. J’ai tout de même voulu tester, juste pour le fun… Mais ça ne passe pas le "make" et je ne trouve pas (dans les paquets) les librairies manquantes.</p>
<p>Je me dis que certainement quelqu’un a créé un "fork" et j’en trouve un qui lui est abandonné depuis 2013 et ne passe pas non plus le "make" (une librairie manquante).</p>
<p>J’avoue ne pas avoir cherché la librairie manquante en dehors des mes dépôts.</p>
<h3>Mais il n’y a donc plus rien pour créer des mosaïques sous linux ?</h3>
<p>Si si, j’ai découvert au fin fond de mes dépôts Pixelize.</p>
<p><strong>Brève critique de Pixelize :</strong> C’est décevant, un résultat médiocre, trop peu d’options que je n’ai jamais pu modifier, même en lançant l’application sous "root".<br />
Metapixel avait un peu plus d’options permettant un affinage du résultat souhaité. Et même par défaut le résultat était beaucoup plus propre.</p>
<p>Si le Larousse nous dit que la création de mosaïque est un art, n’ayez pas d’illusion, vous ne deviendrez pas artiste grâce à Pixelize.</p>
<p><strong>Le tuto tient en trois lignes :</strong></p>
<pre>
# apt-get install pixelize
$ make_db /home/sima78/Images/pour_ma/mosaique/*
$ pixelize</pre>
<p>La première ligne on installe Pixelize<br />
La deuxième va créer un fichier "bd" à partir d’un dossier contenant les images qui créeront la mosaïque (plus il y a d’images, mieux c’est).<br />
La troisième ligne lance Pixelize.</p>
<p><strong>Les options :</strong></p>
<p><strong><a href="https://sima78.chispa.fr/public/applications/pixelize/options-pixelize.png" title="options-pixelize.png"><img alt="options-pixelize.png" src="https://sima78.chispa.fr/public/applications/pixelize/.options-pixelize_s.png" style="margin: 0 auto; display: block;" title="options-pixelize.png, déc. 2017" /></a></strong></p>
<p>Chez-moi aucune modification n’est prise en compte et tout reste à 25X25 pixels et "Proximity of duplicates" à 8</p>
<p><strong>Résultats avec deux exemples…</strong> Franchement c’est pas convainquant.</p>
<p><strong>Avant :</strong><a href="https://sima78.chispa.fr/public/applications/pixelize/blonde-metapixel-001.jpg" title="blonde pixelize original"><img alt="blonde pixelize original" src="https://sima78.chispa.fr/public/applications/pixelize/.blonde-metapixel-001_m.jpg" style="margin: 0 auto; display: block;" title="blonde pixelize original, déc. 2017" /></a></p>
<p><strong>Après :</strong><a href="https://sima78.chispa.fr/public/applications/pixelize/blonde-metapixel-001.png" title="blonde pixelize"><img alt="blonde pixelize" src="https://sima78.chispa.fr/public/applications/pixelize/.blonde-metapixel-001_m.png" style="margin: 0 auto; display: block;" title="blonde pixelize, déc. 2017" /></a></p>
<p><strong>Avant :</strong><a href="https://sima78.chispa.fr/public/applications/pixelize/2006-04-eductour11.jpg" title="2006-04-eductour11 origine"><img alt="2006-04-eductour11 origine" src="https://sima78.chispa.fr/public/applications/pixelize/.2006-04-eductour11_m.jpg" style="margin: 0 auto; display: block;" title="2006-04-eductour11 origine, déc. 2017" /></a></p>
<p><strong>Après :</strong><a href="https://sima78.chispa.fr/public/applications/pixelize/2006-04-eductour11.png" title="2006-04-eductour11"><img alt="2006-04-eductour11" src="https://sima78.chispa.fr/public/applications/pixelize/.2006-04-eductour11_m.png" style="margin: 0 auto; display: block;" title="2006-04-eductour11, déc. 2017" /></a></p>
<p>Ne jetons pas la pierre au logiciel libre, de nombreuses applications évoluent et font notre satisfaction, mais pixelize est le résultat d’une application qui n’a pas de succès auprès des utilisateurs n’y des développeurs...</p>
<p>Si vous connaissez une autre application qui permet de créer des mosaïques, je suis preneur.</p>Linux - De l'interface graphique à la ligne de commandeurn:md5:7a66e1fd6a498a5ec9adf9caeb7c7bf72016-08-06T18:29:00+02:002021-11-18T21:50:18+01:00sima saHumeurConsoleExiv2Ligne de commandeMétadonnées EXIFPhotgraphiePhotos<p><a href="https://sima78.chispa.fr/public/humeur/ligne_de_commande.png" title="de l'interface graphique à la ligne de commande"><img alt="de l'interface graphique à la ligne de commande" src="https://sima78.chispa.fr/public/humeur/ligne_de_commande.png" style="float: left; margin: 0 1em 1em 0;" title="de l'interface graphique à la ligne de commande, août 2016" /></a>Un peu de ma vie privée, ou plutôt de celle de mes <a href="https://fr.wikipedia.org/wiki/Farfadet_(cr%C3%A9ature)" hreflang="fr" target="_blank" title="Farfadet">farfadets</a> et mes <a href="https://fr.wikipedia.org/wiki/Farfadet_(cr%C3%A9ature)" hreflang="fr" target="_blank" title="Fadette">fadettes</a>, j'en ai deux de chaque.</p>
<p>Tous utilisent depuis leur tendre enfance linux… Maintenant, ils l'utilisent plus ou moins en fonction de leurs besoins. Pour celui qui l'utilise le plus, même exclusivement, il s'agit d'un de mes farfadets, l'autre, étant un "<em><a href="https://fr.wikipedia.org/wiki/Gamer" hreflang="fr" target="_blank" title="Gamer">gamer</a></em>", et l'utilise le moins, les Fadettes sont entre les deux.</p>
<p>J'en viens à l'une des Fadettes, son pc est en dual boot, pour un usage professionnel, elle utilise au maximum linux (la grande majorité du temps) via les applications graphiques qui lui sont proposées, sauf pour certains de ces travaux.</p>
<p><strong>L'interface graphique, c'est bien… Mais parfois, la ligne de commande, c'est mieux ! J'y viens !</strong></p> <p><em>"Papa, on a plusieurs photos de divers appareils (4) et elles se mélangent dans le répertoire, on doit rendre un travail chronologique… Tu m'as dit un jour qu'avec ton écran noir (<a href="https://fr.wikipedia.org/wiki/%C3%89mulateur_de_terminal" hreflang="fr" target="_blank" title="Terminal">un terminal</a>) et tes <a href="https://fr.wikipedia.org/wiki/Interface_en_ligne_de_commande" hreflang="fr" target="_blank" title="Ligne de commande">lignes</a>, ça peut se faire facilement… Tu peux me montrer ?"</em> (Sur son pc, une multitude de fenêtres ouvertes sur plusieurs bureaux avec divers travaux en route… Pas question de les fermer pour passer sur un autre système d'exploitation).</p>
<p>Quand on me parle de mes lignes, ça me rend particulièrement fier, même si au fond de moi-même, je sais que quiconque lit le "<a href="https://fr.wikipedia.org/wiki/Man_(Unix)" hreflang="fr" target="_blank" title="Man">man</a>" de "<a href="https://fr.wikipedia.org/wiki/Find" hreflang="fr" target="_blank" title="find">find</a>" et "<a href="http://www.exiv2.org/" hreflang="en" target="_blank" title="Exiv2">exiv2</a>" peut en faire autant, voire mieux, mais bon…</p>
<p>Je lui dis, il suffit de suivre le billet sur mon blog "<a class="ref-post" href="https://sima78.chispa.fr/index.php?post/2015/05/03/Renommer-les-photos-par-lot-en-utilisant-les-m%C3%A9tadonn%C3%A9es-EXIF" target="_blank">Renommer les photos par lot en utilisant les métadonnées EXIF</a>". Et là, magie ! En quelques secondes, les centaines de photographies se renomment par ordre chronologique.</p>
<p>Renommer les photos par lot en utilisant les métadonnées EXIF Magique ou presque, car l'un des appareils n'était pas à la bonne date et heure…<br />
Alors, autres lignes de commande, c'est un peu plus long, en suivant le billet "<a class="ref-post" href="https://sima78.chispa.fr/index.php?post/2015/05/06/Modifier-la-date-de-vos-photos" target="_blank">Modifier la date de vos photos</a>", et le résultat final est parfait !<br />
Je suis heureux de voir que ma Fadette s'en est très bien sorti et surtout qu'elle s'est rendu compte que la ligne de commande est un parfait complément à ce qui peut se faire via une interface graphique !</p>Afficher les metadonnees exif avec un clic droit sur Nautilusurn:md5:0901fb3c93c6bca42508a7f2c48db5012015-05-28T19:01:00+02:002021-08-29T19:14:23+02:00sima saTutoExiv2Logiciels-libresMétadonnées EXIFPhotgraphiePhotosScript<h3><a href="https://sima78.chispa.fr/public/terminal/Applications/nautilus-01.png" title="nautilus"><img alt="nautilus" src="https://sima78.chispa.fr/public/terminal/Applications/nautilus-01.png" style="float: left; margin: 0 1em 1em 0;" title="nautilus, mai 2015" /></a>Petit script utilisant exiv2 et simple à mettre en oeuvre.</h3>
<p>1- Ouvrez un éditeur de texte, copiez les lignes ci-dessous et sauvegardez sous par exemple "exif.sh"</p>
<pre>
#! /bin/bash
# métadonnées exif avec exiv2
zenity --info --text " `exiv2 "$1" `"</pre>
<p>2 - rendez-le exécutable : clic droit => Propriétés dans l'onglet "Permitions"<br />
Cochez la case "Autoriser l'exécution du fichier comme un programme</p>
<p>3 – Ubuntu 14.04, placez le fichier dans ~.local/share/nautilus/scripts/</p> <p><strong>En ligne de commande, pas plus compliqué...</strong><br />
1 - avec par exemple "nano"</p>
<pre>
~$ nano .local/share/nautilus/scripts/exif.sh</pre>
<p>on copie, on sauvegarde et on quitte.</p>
<pre>
#! /bin/bash
# métadonnées exif avec exiv2
zenity --info --text " `exiv2 "$1" `"</pre>
<p>2 - on rend exécutable et on relance nautilus;</p>
<pre>
~$ chmod +x .local/share/nautilus/scripts/exif.sh | nautilus -q</pre>
<p><strong>Résultat dans les deux cas:</strong><br />
1 - clic droit sur l'image</p>
<p><a href="https://sima78.chispa.fr/public/terminal/Applications/Nautilus_script_exif.png" title="Nautilus script exif"><img alt="Nautilus script exif" src="https://sima78.chispa.fr/public/terminal/Applications/.Nautilus_script_exif_m.png" style="margin: 0 auto; display: block;" title="Nautilus script exif, mai 2015" /></a><br />
2 - Résultat </p>
<p><a href="https://sima78.chispa.fr/public/terminal/Applications/Nautilus_affiche_metadonnees_exif.png" title="Nautilus affiche metadonnees exif"><img alt="Nautilus affiche metadonnees exif" src="https://sima78.chispa.fr/public/terminal/Applications/.Nautilus_affiche_metadonnees_exif_m.png" style="margin: 0 auto; display: block;" title="Nautilus affiche metadonnees exif, mai 2015" /></a></p>Récupérer des images ou fichiers effacés avec PhotoRecurn:md5:bd9cb7997f5bc01060b627fead2b51342015-05-11T08:35:00+02:002021-08-29T14:05:44+02:00sima saTutoLogiciels-libresPhotgraphiePhotorecPhotosVie-privée<h3><img alt="Récuprérer photos et fichiers effacés avec photorec" src="https://sima78.chispa.fr/public/terminal/Photos/photorec.png" style="float: left; margin: 0 1em 1em 0;" title="Récuprérer photos et fichiers effacés avec photorec, mai 2015" />Récupérer des images ou fichiers effacés avec PhotoRec</h3>
<p><em>Je refais mon article que j'avais déjà publié le 23 octobre 2010 sur mon autre blog.</em></p>
<p>Pour ce billet, j'ai refait l'expérience en mettant une carte SD d'un de nos appareils photos.<br />
Toujours aussi MAGIQUE! car j'ai récupéré 334 éléments dont une grande majorité de photos et vidéos dont certaines remontent à 2012.</p>
<p>Mettre sa carte SD sur le lecteur multi carte de son PC, ou brancher son appareil photo muni de sa carte.</p>
<p>Pour la récupération, nous allons utiliser PhotoRec, s'il n'est pas installé, vous le trouverez dans pakage "testdisk" qui doit être installé.</p> <pre>
sudo apt-get install testdisk</pre>
<p>Sur un terminal regardons où est monté la carte SD avec la commande "mount".<br />
La ligne qui m'intéresse, entre autres, est la suivante:</p>
<pre>
/dev/sdc1 on /media/sima78/disk type vfat (rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush,uhelper=udisks2)</pre>
<p>Ma carte "/dev/sdc1" est monté sur "/media/sima78/disk" son type de fichier est "fat"<br />
On crée un répertoire où seront misent les photos récupérées.</p>
<pre>
cd Bureau/
mkdir recup</pre>
<p>Puis on lance l'application "photorec" avec les droits administrateur, le résultat doit être quelque chose de ressemblant à:</p>
<pre>
$ sudo photorec
PhotoRec 6.14, Data Recovery Utility, July 2013
Christophe GRENIER <grenier[at]cgsecurity[point]org>
http://www.cgsecurity.org
PhotoRec is free software, and
comes with ABSOLUTELY NO WARRANTY.
Select a media (use Arrow keys, then press Enter):
>Disk /dev/sda - 160 GB / 149 GiB (RO) - ST3160815AS
Disk /dev/sdb - 1000 GB / 931 GiB (RO) - ST1000DM003-1CH162
Disk /dev/sdc - 1948 MB / 1858 MiB (RO) - Generic- SD/MMC
Disk /dev/mapper/mvg-donnees - 751 GB / 700 GiB (RO) - ST1000DM003-1CH162
Disk /dev/mapper/mvg-save - 248 GB / 231 GiB (RO) - ST1000DM003-1CH162
Disk /dev/mapper/ubuntu--vg-root - 155 GB / 145 GiB (RO) - ST3160815AS
Disk /dev/mapper/ubuntu--vg-swap_1 - 4026 MB / 3840 MiB (RO) - ST3160815AS
Disk /dev/dm-0 - 751 GB / 700 GiB (RO) - ST1000DM003-1CH162
Disk /dev/dm-1 - 248 GB / 231 GiB (RO) - ST1000DM003-1CH162
Disk /dev/dm-2 - 155 GB / 145 GiB (RO) - ST3160815AS
>[Previous] [ Next ] [Proceed ] [ Quit ]
Note:
Disk capacity must be correctly detected for a successful recovery.
If a disk listed above has incorrect size, check HD jumper settings, BIOS
detection, and install the latest OS patches and disk drivers.</pre>
<p>Je choisis donc:<br />
<em><strong>Disk /dev/sdc - 1948 MB / 1858 MiB (RO) - Generic- SD/MMC</strong></em><br />
Qui correspond à ma carte sd et valide <em><strong>[Proceed ]</strong></em></p>
<p>A la fenêtre suivante il suffit de faire <em><strong>[ Search ]</strong></em></p>
<pre>
PhotoRec 6.14, Data Recovery Utility, July 2013
Christophe GRENIER <grenier[at]cgsecurity[point]org>
http://www.cgsecurity.org
Disk /dev/sdc - 1948 MB / 1858 MiB (RO) - Generic- SD/MMC
Partition Start End Size in sectors
No partition 0 0 1 1022 53 58 3805184 [Whole disk]
> 1 P FAT16 >32M 0 2 18 1022 53 58 3805043 [NO NAME]
>[ Search ] [Options ] [File Opt] [ Quit ]
Start file recovery</pre>
<p>Si avant la fenêtre ci-dessus vous tombez sur une fenêtre ressemblant à celle ci-dessous,</p>
<pre>
PhotoRec 6.14, Data Recovery Utility, July 2013
Christophe GRENIER <grenier[at]cgsecurity[point]org>
http://www.cgsecurity.org
Disk /dev/sde - 1030 MB / 982 MiB (RO) - Generic 2.0 Reader-SD
Please select the partition table type, press Enter when done.
[Intel ] Intel/PC partition
[EFI GPT] EFI GPT partition map (Mac i386, some x86_64...)
[Mac ] Apple partition map
[None ] Non partitioned media
[Sun ] Sun Solaris partition
[XBox ] XBox partition
[Return ] Return to disk selection
sima@stepstep:~/Bureau
Note: Do NOT select 'None' for media with only a single partition. It's very
rare for a drive to be 'Non-partitioned'.
Il suffit de choisir [Intel ]</pre>
<p>A la fenêtre suivante:</p>
<pre>
PhotoRec 6.14, Data Recovery Utility, July 2013
Christophe GRENIER <grenier[at]cgsecurity[point]org>
http://www.cgsecurity.org
1 P FAT16 >32M 0 2 18 1022 53 58 3805043 [NO NAME]</pre>
<p>Faire Entrée puis à:</p>
<pre>
To recover lost files, PhotoRec need to know the filesystem type where the
file were stored:
[ ext2/ext3 ] ext2/ext3/ext4 filesystem
>[ Other ] FAT/NTFS/HFS+/ReiserFS/...</pre>
<p>Choisir <em><strong>[ Other ]</strong></em> et à la suivante:</p>
<pre>
PhotoRec 6.14, Data Recovery Utility, July 2013
Christophe GRENIER <grenier[at]cgsecurity[point]org>
http://www.cgsecurity.org
1 P FAT16 >32M 0 2 18 1022 53 58 3805043 [NO NAME]
Please choose if all space need to be analysed:
>[ Free ] Scan for files from FAT16 unallocated space only
[ Whole ] Extract files from whole partition</pre>
<p>Choisir <em><strong>[ Free ]</strong></em><br />
Dans celle ci-dessous, il suffit de choisir le dossier où seront stockées les photos ou fichiers récupérés.<br />
Au début du billet nous avons proposé Bureau/recup/</p>
<p>Il suffi de le sélectionner.</p>
<pre>
PhotoRec 6.14, Data Recovery Utility, July 2013
Please select a destination to save the recovered files.
Do not choose to write the files to the same partition they were stored on.
Keys: Arrow keys to select another directory
C when the destination is correct
Q to quit
Directory /home/sima78
>drwx------ 1000 1000 20480 8-May-2015 17:23 .
drwxr-xr-x 0 0 4096 24-Oct-2014 18:11 ..
drwxr-xr-x 1000 1000 4096 8-May-2015 15:46 Bureau
drwxr-xr-x 1000 1000 12288 26-Apr-2015 08:22 Documents
drwxr-xr-x 1000 1000 12288 20-Dec-2014 09:19 Images
drwxr-xr-x 1000 1000 4096 24-Oct-2014 17:27 Modèles
drwxr-xr-x 1000 1000 4096 2-Dec-2014 21:35 Musique
drwxr-xr-x 1000 1000 4096 23-Nov-2014 08:14 Public
drwxr-xr-x 1000 1000 40960 8-May-2015 14:48 Téléchargements
drwxr-xr-x 1000 1000 4096 12-Jan-2015 18:14 Vidéos</pre>
<pre>
PhotoRec 6.14, Data Recovery Utility, July 2013
Please select a destination to save the recovered files.
Do not choose to write the files to the same partition they were stored on.
Keys: Arrow keys to select another directory
C when the destination is correct
Q to quit
Directory /home/sima78/Bureau
>drwxr-xr-x 1000 1000 4096 8-May-2015 15:46 .
drwx------ 1000 1000 20480 8-May-2015 17:23 ..
drwxrwxr-x 1000 1000 4096 22-Feb-2015 19:36 Nouveau dossier
drwxrwxr-x 1000 1000 12288 23-Apr-2015 20:57 phatch
drwxrwxr-x 1000 1000 4096 8-May-2015 16:44 recup</pre>
<pre>
PhotoRec 6.14, Data Recovery Utility, July 2013
Please select a destination to save the recovered files.
Do not choose to write the files to the same partition they were stored on.
Keys: Arrow keys to select another directory
C when the destination is correct
Q to quit
Directory /home/sima78/Bureau/recup
>drwxrwxr-x 1000 1000 4096 8-May-2015 16:44 .
drwxr-xr-x 1000 1000 4096 8-May-2015 15:46 ..
Quand on est enfin dans le répartoire choisi on valide en tapant C</pre>
<p>Sur l'image ci-dessous on voit qu'au bout de seulement quelques secondes on à récupéré:<br />
173 jpg<br />
38 riff<br />
6 tx?<br />
2txt</p>
<p><img alt="PhotoRec en activité" src="https://sima78.chispa.fr/public/terminal/Photos/.photorec_en_fonction_m.png" style="margin: 0 auto; display: block;" title="PhotoRec en activité, mai 2015" /><br />
Résultat final:</p>
<pre>
PhotoRec 6.14, Data Recovery Utility, July 2013
Christophe GRENIER <grenier[at]cgsecurity[point]org>
http://www.cgsecurity.org
Disk /dev/sdc - 1948 MB / 1858 MiB (RO) - Generic- SD/MMC
Partition Start End Size in sectors
1 P FAT16 >32M 0 2 18 1022 53 58 3805043 [NO NAME]
334 files saved in /home/sima78/Bureau/recup/recup_dir directory.
Recovery completed.
You are welcome to donate to support further development and encouragement
http://www.cgsecurity.org/wiki/Donation
[ Quit ]</pre>
<p>Sources :<br />
<a href="http://www.cgsecurity.org/wiki/PhotoRec_FR" hreflang="fr" target="_blank" title="PhotoRec">PhotoRec</a><br />
<a href="http://www.cgsecurity.org/wiki/Donation" hreflang="en" target="_blank" title="Faire un don pour le développement de PhotoRec">Leur faire un don!</a> U<span id="result_box" lang="fr"><span class="hps">n don</span> <span class="hps">pour soutenir</span> <span class="hps">le développement</span> <span class="hps">et l'encouragement sera le bienvenu !</span></span></p>Supprimer les métadonnées EXIF avec exiv2urn:md5:2f5fc5aa0f4bb45a59870891151544cd2015-05-10T08:01:00+02:002021-08-29T14:02:57+02:00sima saTutoConsoleExiv2Ligne de commandeMétadonnées EXIFPhotgraphiePhotosVie-privée <h3><img alt="supprimer données exif Womer & Cabincr3w" src="https://sima78.chispa.fr/public/terminal/Photos/supprimer-donnees-exif-_Womer_Cabincr3w.png" style="float: left; margin: 0 1em 1em 0;" title="supprimer données exif Womer & Cabincr3w, mai 2015" />Métadonnées EXIF, utilité et méfiance.</h3>
<p>Si les métadonnées exif, et leur enrichissement peuvent être d'une grande utilité, sachez aussi vous en méfier.<br />
<br />
En effet, pour des raisons professionnelles ou pour la gestion de photos à titre personnel, les données EXIF ont toutes leurs raisons d'être et sont une véritable richesse.<br />
<br />
Par contre, si vous publier vos photos sur un quelconque site internet, dans la majeure partie des cas, pour des raisons de préserver votre vie privée, les métadonnées EXIF n'ont pas d'intérêt.<br />
<br />
<strong>Pour les supprimer avec exiv2, rien de plus simple.</strong></p>
<pre>
$ exiv2 -d a photo.jpg</pre>
<p> </p>
<p><em>En suivant les liens plus bas, vous saurez comment intégrer cette commande dans une boucle pour procéder par lot.</em><br />
<strong>Pour l'anecdote avec un peu d'humour</strong> (c'était en 2012) :<br />
<strong>Le pirate w0rmer & CabinCr3w</strong> (<em>pour ne pas dire l'utilisateur de </em><span class="st"><em>Scripts kiddies) </em></span>a publié sur Twitter depuis son smartphone, deux photos, l'une du décolleté de sa petite amie, l'autre de son fessier moulé dans un short... <ins>Les métadonnées de ses images</ins> ont permis au FBI de le confondre...<br />
<em>Les médias parlent de hacker... <del>Ha les cons!</del> Il n'ont encore rien compris, hacker n'est pas synonyme de pirate, au contraire, et hacker ne s'applique pas seulement à l'informatique mais dans le bricolage créatif visant à améliorer le fonctionnement d'un système... Quelqu'un qui fait du tunning, est aussi un hacker! Les hackers existent depuis longtemps, bien avant les ordinateurs. Le terme de Hacker a perdu son prestige depuis le Crackdown de 1990, lorsque le système téléphonique US a globalement disjoncté, du fait d'une erreur de programmation des opérateurs, qui accusèrent pourtant le monde des BBS.</em><br />
<br />
<strong>Pour en savoir plus sur les métadonnées EXIF :</strong><br />
- <a href="https://sima78.chispa.fr/sima78/index.php?post/2015/05/03/M%C3%A9tadonn%C3%A9es-EXIF-d-une-photo" target="_blank">Métadonnées EXIF d'une photo </a><br />
- <a href="https://sima78.chispa.fr/sima78/index.php?post/2015/05/03/Renommer-les-photos-par-lot-en-utilisant-les-m%C3%A9tadonn%C3%A9es-EXIF" target="_blank">Renommer les photos par lot en utilisant les métadonnées EXIF </a><br />
- <a href="https://sima78.chispa.fr/sima78/index.php?post/2015/05/03/Modifier-les-m%C3%A9tadonn%C3%A9es-EXIF-de-ses-photos" target="_blank">Modifier les métadonnées EXIF de ses photos</a><br />
- <a href="https://sima78.chispa.fr/sima78/index.php?post/2015/05/06/Modifier-la-date-de-vos-photos" target="_blank">Modifier la date de vos photos </a><br />
- <a href="https://sima78.chispa.fr/sima78/index.php?post/2015/05/04/Ajouter-les-coordonn%C3%A9es-GPS-dans-EXIF-avec-exiv2" target="_blank">Ajouter les coordonnées GPS dans EXIF avec exiv2 </a><br />
<br />
Vous pouvez aussi changer le nom de fichier de vos photos sans utiliser les métadonnées EXIF<br />
- <a href="https://sima78.chispa.fr/sima78/index.php?post/2015/05/03/Renommer-les-photos-sans-utiliser-les-m%C3%A9tadonn%C3%A9es-Exif" target="_blank">Renommer les photos sans utiliser les métadonnées Exif</a></p>
<p> </p>Ajouter les coordonnées GPS dans EXIF avec exiv2urn:md5:5b4c0d3cae3a6337c35f7b210c2e4bdb2015-05-09T22:13:00+02:002021-08-29T14:02:00+02:00sima saTutoExiv2Ligne de commandeMétadonnées EXIFPhotgraphieScript<h3><img alt="mettre les coordonnées gps dans exif avec exiv2.png" src="https://sima78.chispa.fr/public/terminal/Photos/mettre-coordonnees-gps-dans-exif-avec-exiv2.png" style="float: left; margin: 0 1em 1em 0;" title="mettre les coordonnées gps dans exif avec exiv2.png, mai 2015" /><strong>Linux, exiv2 et ajout des coordonnées GPS dans EXIF </strong></h3>
<p>Ajouter les coordonnées GPS à une photo en ligne de commande nécessiterai trois (3) lignes de commande, ce script peut simplifier la tâches.</p>
<p>Ici un petit script permettant de rentrer des coordonnées GPS dans les métadonnées EXIF dans une série de photos.</p>
<p>"<strong>exiv2</strong>" doit être installé... sinon:</p>
<pre>
apt-get install exiv2</pre> <p>Ce script va vous poser quelques questions, bien entendu, il ne faut pas mettre les parenthèses...</p>
<p><strong>Les questions qui vous seront posées: </strong></p>
<ul>
<li>Entrez l’extension de fichier en respectant la casse (jpg) (JPG) (RAW)... : Tapez JPG ou jpg ou RAW ,bref l'extension de votre série photos en respectant la casse, c'est-à-dire, en majuscules ou minuscules...</li>
<li>Entrez la latitude (N) ou (S) : N ou S Cela se transformera en North ou South sur les tags exif</li>
<li>Entrez la latitude sous forme ex (48/1 13/1 24/1) : Imaginons la latitude à rentrer est 48°, 13min et 24sec... vous devrez le saisir sous forme de 48/1 13/1 24/1 et cela donnera 48deg 13' 24" sur le tag exif.</li>
<li>Entrez la longitude (E) ou (O) : E ou O cela se transformera en East ou West</li>
<li>Entrez la longitude sous forme ex (9/1 52/1 51/1) : (même principe que pour la latitude).</li>
</ul>
<p><strong>Le sript:</strong></p>
<pre>
#!/bin/bash
# Ajouter les données GPS aux métadonnées EXIF - Sima78
# Entrez vos données GPS sans les parenthèses... :-)"
echo -n "Entrez l'extention de fichier en respectant la casse (jpg) (JPG) (RAW)... : "
read form
echo -n "Entrez la latitude (N) ou (S) : "
read latref
echo -n "Entrez la latitude sous forme ex (48/1 13/1 24/1) : "
read lat
echo -n "Entrez la longitude (E) ou (O) : "
read longref
echo -n "Entrez la longitude sous forme ex (9/1 52/1 51/1) : "
read long
for i in *.$form
do
exiv2 -M"set Exif.GPSInfo.GPSLatitudeRef $latref" $i
exiv2 -M"set Exif.GPSInfo.GPSLatitude $lat" $i
exiv2 -M"set Exif.GPSInfo.GPSLongitudeRef $longref" $i
exiv2 -M"set Exif.GPSInfo.GPSLongitude $long" $i
done
echo "TERMINE"</pre>
<p>Pour utiliser ce script, copiez-le dans votre éditeur texte favori et enregistrez sous... par exemple: <em>ajout-gps-exif.sh</em></p>
<p>Le rendre exécutable par:</p>
<pre>
chmod +x ajout-gps-exif.sh</pre>
<p>Le placer dans le dossier de vos clichés à modifier et le lancer par:</p>
<pre>
./ajout-gps-exif.sh</pre>
<p><strong>Pour voir le résultat:</strong></p>
<pre>
exiv2 -pt votre_photo.JPG</pre>
<p><strong>Exemple de résultat:</strong></p>
<pre>
(...)
Exif.GPSInfo.GPSLatitudeRef Ascii 2 North
Exif.GPSInfo.GPSLatitude Rational 3 48deg 13' 24"
Exif.GPSInfo.GPSLongitudeRef Ascii 2 East
Exif.GPSInfo.GPSLongitude Rational 3 9deg 52' 51"</pre>
<p>Ce script utilise <a href="https://sima78.chispa.fr/sima78/index.php?post/2015/05/03/Initiation-au-shell-boucle-%28for%2C-do%2C-done%29" taget="_blank">une simple boucle (for, do, done)</a> il est donc facile de l'enrichir avec d'autres champs complémentaires (copyright, auteur, commentaire, etc...)</p>
<p>Liste des champs possibles sur <a href="http://www.exiv2.org/tags.html" hreflang="en" taget="_blank" title="Liste des tags exif">www.exiv2.org/tags.html</a></p>Modifier la date de vos photosurn:md5:f686225bf43c9fcfa9c6d0291bca47bd2015-05-09T09:28:00+02:002021-08-29T14:00:47+02:00sima saTutoConsoleExiv2Ligne de commandeMétadonnées EXIFPhotgraphiePhotos<h3><img alt="Modifier la date de vos photos" src="https://sima78.chispa.fr/public/terminal/Photos/Modifier_la_date_de_vos_photos.png" style="float: left; margin: 0 1em 1em 0;" title="Modifier la date de vos photos, mai 2015" />Modifier la date de vos photos sous linux en ligne de commande.</h3>
<p>Votre appareil est resté longtemps sans ses piles, vous en avez mis des neuves, et pris des photo sans remettre votre appareil à la bonne date et heure...</p>
<p>Vous allez donc devoir...</p>
<h3>Modifier la date sur le fichier EXIF de vos photos.</h3>
<p>Mettez vos clichés à modifier dans un répertoire.</p>
<p>Voyez la suite....</p> <p>Ouvrez un shell et vérifiez le contenu du répertoire avec la commande "ls".</p>
<pre>
$ ls
DSCN3449.JPG DSCN3450.JPG DSCN3451.JPG DSCN3452.JPG DSCN3453.JPG DSCN3454.JPG DSCN3455.JPG DSCN3456.JPG</pre>
<p><strong>Vérifiez la date</strong> d'une des images du répertoire avec "exiv2 image.jpg"<br />
$ exiv2 DSCN3449.JPG</p>
<pre>
Nom du fichier : DSCN3449.JPG
Taille du fichier : 1230426 Octets
Type MIME : image/jpeg
Taille de l'image : 2304 x 3072
Marque de l'appareil : NIKON
Modèle de l'appareil : COOLPIX L12
Horodatage de l'image : 2010:05:02 05:32:43
Numéro de l'image :
Temps d'exposition : 1/469 s
Ouverture : F2.8</pre>
<p><ins>La date affiche 02/05/2010 à 05:32:43</ins> alors que l'image a été prise (supposons) le 01/05/2012 à entre 14h et 15h.<br />
Nous allons modifier la ligne "Horodatage de l'image: 2010:05:02 05:32:43" en ligne de commande.<br />
<strong>Plusieurs champs peuvent intervenir pour l'affichage de l'heure</strong>, on peut vérifier avec la ligne suivante:<br />
exiv2 -p v DSCN3449.JPG | grep DateTime</p>
<pre>
$ exiv2 -p v DSCN3449.JPG | grep DateTime
0x0132 Image DateTime Ascii 20 2010:05:02 05:32:43
0x9003 Photo DateTimeOriginal Ascii 20 2010:05:02 05:32:43
0x9004 Photo DateTimeDigitized Ascii 20 2010:05:02 05:32:43</pre>
<p><strong>Il y a donc trois champs à modifier.</strong><br />
On peut déjà modifier la première photo en trois ligne avec la commande "exiv2" et l'option "-Mset"</p>
<pre>
$ exiv2 -M"set Exif.Image.DateTime 2012:05:01 14:32:43" DSCN3449.JPG
$ exiv2 -M"set Exif.Photo.DateTimeOriginal 2012:05:01 14:32:43" DSCN3449.JPG
$ exiv2 -M"set Exif.Photo.DateTimeDigitized 2012:05:01 14:32:43" DSCN3449.JPG</pre>
<p><strong>Oui, mais si vous avez plusieurs photos cela risque de devenir très vite fastidieux</strong>, l'idéal est de trouver la bonne boucle à faire.<br />
<em>Déplacez l'image que vous venez de modifier pour éviter que les changements lui soient appliqués. </em><br />
<strong>Faire une modification de date dans une boucle</strong>, c'est risquer de se retrouver avec tous les clichés à la même date, à la seconde près. A moins de faire un script assez complexe.<br />
<strong>Nous allons nous simplifier la tâche</strong> en ajustant l'heure. L'option "ad" de la commande "exiv2" permet l'ajustement de cette donnée en ajoutant ou retirant des tranches de temps. En fait, il faudra préciser le nombre d'années, mois, jours et heures de décalage.</p>
<p>Dans un premier temps nous allons chercher l'intervalle entre la date du cliché et celui de la prise de vue, soit (01/05/2012 14:32 - 02/05/2010 05:32).</p>
<p>Vous pouvez utiliser un tableur ou un <a href="http://www.timeanddate.com/date/timeduration.html" hreflang="en" target="_blank" title="Calculateur de date en ligne">calculateur en ligne</a>.<br />
Résultat: 1 year, 11 months, 29 days, 9 hours<br />
Une fois le décalage évalué, on va l'appliquer avec "exiv2", donc ajouter 1 ans, 11 mois, 29 jours, 9 heures et 00 minutes, il suffit d'exécuter:<br />
"exiv2 -a 9:00 -Y 1 -O 11 -D 29 ad image.jpg"<br />
Mais nous allons l'introduire dans une boucle "<a href="https://sima78.chispa.fr/sima78/index.php?post/2015/05/03/Initiation-au-shell-boucle-%28for%2C-do%2C-done%29" target="_blank">For Do Done</a>"</p>
<pre>
$ for i in *; do exiv2 -a 9:00 -Y 1 -O 11 -D 29 ad $i;done</pre>
<p>Vérifions sur une des images:</p>
<pre>
$ exiv2 -p v DSCN3452.JPG | grep DateTime
0x0132 Image DateTime Ascii 20 2012:05:01 14:36:22
0x9003 Photo DateTimeOriginal Ascii 20 2012:05:01 14:36:22
0x9004 Photo DateTimeDigitized Ascii 20 2012:05:01 14:36:22</pre>
<p><strong>Réussi !</strong><br />
Maintenant vous pouvez <a href="https://sima78.chispa.fr/sima78/index.php?post/2015/05/03/Renommer-les-photos-par-lot-en-utilisant-les-m%C3%A9tadonn%C3%A9es-EXIF" target="_blank">renommer vos photos en utilisant la date et heure du fichier exif</a>.</p>Modifier les métadonnées EXIF de ses photosurn:md5:f42428845cad9ff8edcacb8dcfa57dfc2015-05-08T14:46:00+02:002021-08-29T13:59:41+02:00sima saTutoConsoleExiv2Ligne de commandeMétadonnées EXIFPhotgraphiePhotos<p><img alt="Modifier les métadonnées EXIF avec Exiv2" src="https://sima78.chispa.fr/public/terminal/Photos/modifier-fichier-exif.png" style="float: left; margin: 0 1em 1em 0;" title="Modifier les métadonnées EXIF avec Exiv2, mai 2015" /><strong>Modifier les métadonnées EXIF de ses photos</strong></p>
<p>Comment rajouter des informations aux données "EXIF" d'une photo? En effet il manque souvent l'auteur, le commentaire... Je vous propose l'une des méthodes sous linux...</p>
<p>Rapide, car légère, puisqu'en ligne de commande.</p>
<p>Avant de commencer, ayez une idée de ce qu'est un fichier EXIF d'une photographie, ensuite prenez connaissance des variables susceptibles d'enrichissement.<br />
C'est fait? Alors c'est parti...</p> <p>Imaginons, j'ai pris une série de photographies, avant de les renommer je souhaite rajouter d'autres renseignement aux métadonnées "EXIF": Un commentaire, le lieu de prise et nom de la plante que j'ai photographié dans la série, il s'agit de la colchique d'automne (Colchicum autumnale).<br />
Si je n'avais qu'une photographie à modifier j'utiliserai la ligne suivante:</p>
<pre>
$ exiv2 -M"set Exif.Photo.UserComment charset=Ascii Paris - Colchicum autumnale (colchique d'automne) " DSC_0013.JPG</pre>
<p>Mais voilà, j'ai plusieurs photographies à modifier, alors je vais utiliser une boucle "for, do, done" et pourquoi pas en faire un script pour éviter la réécriture de la ligne à chaque fois, à vous de voir.</p>
<p>Ajoutons aux données EXIF un commentaire pour le nom et lieu: Paris - Colchicum autumnale (colchique d'automne)</p>
<pre>
$ for i in *.JPG; do exiv2 -M"set Exif.Photo.UserComment charset=Ascii Paris - Colchicum autumnale (colchique d'automne)" $i; done</pre>
<p>Vérifions avec la commande exiv2 et l'option "-pt" pour plus de détail:</p>
<pre>
$ exiv2 -pt DSC_0012.JP
(...)
Exif.Nikon3.Saturation Ascii 16 NORMAL
Exif.Nikon3.VariProgram Ascii 16 AUTO
Exif.Photo.UserComment Undefined 56 Paris - Colchicum autumnale (colchique d'automne)
Exif.Photo.SubSecTime Ascii 3 50
(...)</pre>
<p>De la même façon on peut mettre le nom d'auteur, le Copyright etc.<br />
Exemple:</p>
<pre>
$ for i in *.JPG; do exiv2 -M"set Exif.Image.Artist Mon_prenom et NOM" $i; done
$ for i in *.JPG; do exiv2 -M"set Exif.Image.Copyright Creative Commons BY-NC-SA" $i; done
$ exiv2 -pt DSC_0012.JP
(...)
Exif.Image.Artist Ascii 18 Mon_prenom et NOM
Exif.Image.YCbCrPositioning Short 1 Co-sited
Exif.Image.Copyright Ascii 26 Creative Commons BY-NC-SA
(...)
Exif.Photo.UserComment Undefined 56 Paris - Colchicum autumnale (colchique d'automne)
(...)</pre>Renommer les photos par lot en utilisant les métadonnées EXIFurn:md5:5daeca6ee0c10c41a2fdb84f6074c8532015-05-07T18:31:00+02:002021-08-29T13:58:35+02:00sima saTutoConsoleExiv2Ligne de commandeMétadonnées EXIFPhotgraphiePhotos<p><img alt="Renommer une photo en utilisant les métadonnées exif avec exiv2" src="https://sima78.chispa.fr/public/terminal/Photos/exiv2.png" style="float: left; margin: 0 1em 1em 0;" title="Renommer une photo en utilisant les métadonnées exif avec exiv2, mai 2015" /><strong>Renommer des photos par lot en utilisant <a href="https://sima78.chispa.fr/sima78/index.php?post/2015/05/03/M%C3%A9tadonn%C3%A9es-EXIF-d-une-photo" hreflang="fr" target="_blank" title="Find">des données EXIF</a> de chaque image. </strong></p>
<p>Ou comment avoir un nom ressemblant à "2010-0613-16h07m08s-chantier.JPG" au lieu de "DSC_0005.JPG"</p>
<p><strong>Prérequis: </strong><br />
"<a href="http://www.exiv2.org/" hreflang=" en" target="_blank" title="Exuv2"><strong>exiv2</strong></a>" doit être installé.<br />
On va utiliser les commandes "<a href="http://fr.wikipedia.org/wiki/Find" hreflang="fr" target="_blank" title="Find">find</a>" et "exiv2 "</p>
<p>Voyons ce qu'il y a dans le répertoire courant:</p>
<pre>
$ ls
DSC_0005.JPG DSC_0006.JPG DSC_0007.JPG DSC_0008.JPG
</pre>
<p>On va renommer les photos en utilisant une partie des métadonnées EXIF de chaque image en une seule commande (ici date et heure de prise de vue).</p> <pre>
$ find -iname "DSC_*" -exec exiv2 -r %Y-%m%d-%Hh%Mm%Ss-chantier mv {} +
$
$ ls -l
total 10004
-rwxr-xr-x 1 sima sima 2976990 2010-06-13 16:07 2010-0613-16h07m08s-chantier.JPG
-rwxr-xr-x 1 sima sima 2538376 2010-06-13 16:07 2010-0613-16h07m27s-chantier.JPG
-rwxr-xr-x 1 sima sima 2231659 2010-06-13 16:07 2010-0613-16h07m51s-chantier.JPG
-rwxr-xr-x 1 sima sima 2472989 2010-06-13 16:07 2010-0613-16h07m57s-chantier.JPG
</pre>
<p><strong>Que c'est-il passé? </strong><br />
La commande <strong>find</strong> a recherché les fichiers dont le nom commence par DSC_<br />
Lorsque la réponse est vrai (renvoi 0) exécute la commande <strong>exiv2 </strong><br />
La commande <strong>exiv2</strong> va renommer en prenant l'année (<strong>%Y</strong>), le mois (<strong>%m</strong>), le jour (<strong>%d</strong>), l'heure (<strong>%H</strong>), les minutes (<strong>%M</strong>) et les secondes (<strong>%S</strong>) de prise de vue en y ajoutant les personnalisations les (<strong>-</strong>) (hms) de heure, minutes et secondes puis chantier.</p>
<p>En faisant «<strong>man exiv2</strong>» ou «<strong>man find</strong>» on peut voir l'étendue des possibilités.</p>
<p><strong>ATTENTION !</strong> cette commande est récursive et si vous avez des sous-répertoires avec des fichiers correspondant à la requête, ils seront également modifiés. Dans ce cas, vous pouvez utiliser la commande exiv2 dans une boucle for, do, done</p>
<p>Il est facile d'en faire un script...</p>Renommer les photos sans utiliser les métadonnées Exifurn:md5:b345fe531fd5a3aeca3ff9aa69dbb6c92015-05-06T17:06:00+02:002021-08-29T13:56:17+02:00sima saTutoConsoleLigne de commandePhotgraphieScript<p><img alt="Renommer les photos sans utiliser les métadonnées EXIF" src="https://sima78.chispa.fr/public/terminal/Photos/modif_photo-sans-exif.png" style="float: left; margin: 0 1em 1em 0;" title="Renommer les photos sans utiliser les métadonnées EXIF, mai 2015" /><strong>Renommer sans utiliser les <a href="https://sima78.chispa.fr/sima78/index.php?post/2015/05/03/M%C3%A9tadonn%C3%A9es-EXIF-d-une-photo" target="_blank">métadonnées Exif</a>.</strong><br />
<br />
De retour de vacances, il n'est pas rare de se retrouver avec répertoire contenant plus de 400 photos avec des noms de fichiers du genre:<br />
dsc_0007.jpg<br />
dsc_0009.jpg<br />
dsc_0016.jpg<br />
<br />
Or on souhaite que les noms soient plus explicites, genre «2010-07-vancances-numéro.jpg»<br />
<br />
<strong>Faire des modifications une par une est fastidieux</strong>, c'est là qu'intervient la commande «sed»<br />
<br />
On va utiliser une boucle «for, do, done», J'ai déjà donné les explications sur le billet <a href="https://sima78.chispa.fr/sima78/index.php?post/2015/05/03/Initiation-au-shell-boucle-%28for%2C-do%2C-done%29" target="_blank">"Initiation au shell boucle (for, do, done)" (la punition de mon fils)</a>.<br />
<br />
<strong>Voici la ligne magique</strong> avec la commande «sed»:</p> <pre>
for i in dsc_*; do mv $i `echo $i | sed "/^dsc_/s//2010-07-vacances-/"`; done</pre>
<p><strong>"dsc_"</strong> sera remplacé par "2010-07-vacances-"</p>
<p>Ce qui donnera des noms de fichier du genre :</p>
<pre>
2010-07-vacances-0007.jpg
2010-07-vacances-0009.jpg
2010-07-vacances-0016.jpg</pre>
<p><strong>Pour éviter de retaper la ligne on peut faire un mini script:</strong></p>
<pre>
#!/bin/bash
# renommer des photos dans le répertoire courant.
echo "Entrez ce que vous souhaitez remplacer, ex. dsc_, DSC ..."
echo "Gardez la numérotation finale des photos..."
echo -n "respectez les la casse, majuscules / Minuscules : "
read rempl
echo -n "Entrez ce que vous souhaitez voir à la place : "
read souhait
for i in "$rempl"*
do mv $i `echo $i | sed "/^"$rempl"/s//"$souhait"/"`
done
echo "TERMINE"</pre>
<p>On va le nommer "renom-photos.sh"</p>
<p>Le rendre exécutable par:</p>
<pre>
chmod +x renom-photos.sh</pre>
<p>Plaçons-le dans le répertoire courant et utilisons-le.<br />
Voyons ce qu'il y a dans le répertoire courant.</p>
<pre>
$ ls -l
total 10764
-rwxr-xr-x 1 sima78 sima78 2231659 2010-06-13 16:07 DSC_0007.JPG
-rwxr-xr-x 1 sima78 sima78 2720329 2010-06-13 16:09 DSC_0009.JPG
-rwxr-xr-x 1 sima78 sima78 1996609 2010-06-18 15:04 DSC_0016.JPG
-rwxr-xr-x 1 sima78 sima78 383 2010-08-17 20:55 renom-photos.sh
-rwxr-xr-x 1 sima78 sima78 2036985 2010-06-18 15:03 souhait0015.JPG
-rwxr-xr-x 1 sima78 sima78 1996609 2010-06-18 15:04 souhait0016.JPG</pre>
<p>On voit aussi le script qui se termine par .sh et je souhaite renommer mes photos DSC_*<br />
Je lance le script et réponds au 2 questions...</p>
<pre>
$ ./renom-fotos.sh
Entrez ce que vous souhaitez remplacer, ex. dsc_, DSC ... (ici se serait DSC_)
Gardez la numérotation finale des photos...
respectez les la casse, majuscules / Minuscules : DSC_
Entrez ce que vous souhaitez voir à la place : 2010-07-vacances-
TERMINE</pre>
<p>Voyons le résultat.</p>
<pre>
$ ls -l
total 10764
-rwxr-xr-x 1 sima78 sima78 2231659 2010-06-13 16:07 2010-07-vacances-0007.JPG
-rwxr-xr-x 1 sima78 sima78 2720329 2010-06-13 16:09 2010-07-vacances-0009.JPG
-rwxr-xr-x 1 sima78 sima78 1996609 2010-06-18 15:04 2010-07-vacances-0016.JPG
-rwxr-xr-x 1 sima78 sima78 383 2010-08-17 20:55 renom-fotos.sh
-rwxr-xr-x 1 sima78 sima78 2036985 2010-06-18 15:03 souhait0015.JPG
-rwxr-xr-x 1 sima78 sima78 1996609 2010-06-18 15:04 souhait0016.JPG
drwxr-xr-x 2 sima78 sima78 4096 2010-08-17 20:50 sous-photos</pre>
<p>Il a donc bien modifier les fichiers commençant par "DSC_"</p>
<p>Maintenant, tout ça peut être perfectionné... à vos shells.</p>Métadonnées EXIF d'une photourn:md5:a7ce46ec07f52d91577cdd7719c1b05e2015-05-05T21:15:00+02:002021-08-29T13:55:04+02:00sima saTutoMétadonnées EXIFPhotgraphiePhotos<p><img alt="Métadonnées Exif d'une photographie" src="https://sima78.chispa.fr/public/terminal/Photos/fichier-exif-04.png" style="float: left; margin: 0 1em 1em 0;" title="Métadonnées Exif d'une photographie, mai 2015" /><strong>Métadonnées EXIF d'une photo.</strong></p>
<p>Lorsque vous prenez une photo avec votre appareil photo numérique, il crée, en plus de l'image, une multitude de <a href="http://fr.wikipedia.org/wiki/M%C3%A9tadonn%C3%A9es_EXIF" hreflang="fr" target="_blank" title="Métadonnées EXIF">données EXIF (Exchangeable Image File format)</a>.</p>
<p>Ces données EXIF nous renseignent sur les propriétés de l'image (elles peuvent être modifiées, il ne s'agit donc pas de valeurs sûres):</p>
<p>- date,heure de la prise de vue<br />
- marque de l'appareil<br />
- ouverture et vitesse de prise de vue<br />
- avec ou sans flash<br />
- etc.</p>
<p>Exemple de métadonnées exif.</p> <pre>
$ EXIF DSC_0132.JPG
Marqueurs EXIF dans'DSC_0132.JPG' (ordre des octets 'Motorola') :
---------------------+-----------------
Marqueur |Valeur
---------------------+-----------------
Constructeur |NIKON CORPORATION
Modèle |NIKON D50
Orientation |haut - gauche
x-résolution |300,00
y-résolution |300,00
Unité de la résolu |pouces
Logiciel |Ver.1.00
Date et heure |2010:07:11 18:41:01
Positionnement YCbCr |co-situés
Compression |Compression JPEG
x-résolution |300,00
y-résolution |300,00
Unité de la résolu |pouces
Positionnement YCbCr |co-situés
Temps d'exposition |1/250 sec.
Focale |f/2,8
Exposure Program |Priorité ouverture
Version d'exif |Exif version 2.21
Date et heure (origi |2010:07:11 18:41:01
Date et heure (numé |2010:07:11 18:41:01
Components Configura |Y Cb Cr -
Bits compressés par |4,00
Correction d'exposit |0,00 EV
MaxApertureValue |1,00 EV (f/1,4)
Mode de mesure |Motif
Source lumineuse |0
Flash |Le flash ne s'est pas déclenché.
Longueur focale |50,0 mm
Note du créateur |28700 bytes undefined data
Commentaire de l'uti |
SubsecTime |90
SubSecTimeOriginal |90
SubSecTimeDigitized |90
FlashPixVersion |FlashPix version 1.0
Espace des couleurs |sRGB
PixelXDimension |3008
PixelYDimension |2000
Méthode d'acquisiti |Sonde de couleur à un capteur
Source du fichier |DSC
Type de scène |1
Motif CFA |8 bytes undefined data
Rendu personnalisé |Processus normal
Mode d'exposition |Exposition automatique
Balance des blancs |Balance des blancs automatique
Valeur du zoom numé |1,00
Longueur focale dans |75
Type de capture de l |Standard
Contrôle du gain |Normal
Contraste |Normal
Saturation |Normal
Netteté |Normal
Échelle de distance |Inconnu
InteroperabilityInde |R98
InteroperabilityVers |0100
---------------------+-----------------
Les données EXIF contiennent une vignette (8581 octets).</pre>