Je souhaite supprimer les informations EXIF (y compris la vignette, les métadonnées, les informations de l'appareil photo ... tout!) Des fichiers JPEG, mais je ne veux pas les recompresser, car recompresser le JPEG dégradera la qualité, ainsi que généralement augmenter le taille du fichier.
Je recherche une solution Unix / Linux, encore meilleure si vous utilisez la ligne de commande. Si possible, utilisez ImageMagick (outil de conversion). Si ce n'est pas possible, un petit script Python, Perl, PHP (ou un autre langage courant sur Linux) conviendrait.
Il y a une question similaire, mais liée à .NET .
unix
imagemagick
jpeg
exif
Denilson Sá Maia
la source
la source
Réponses:
exiftool fait le travail pour moi, il est écrit en perl donc devrait fonctionner pour vous sur n'importe quel o / s
https://exiftool.org/
utilisation:
la source
sudo apt-get install libimage-exiftool-perl
brew install exiftool
-overwrite_original
commutateur et le programme ne créera pas les fichiers de sauvegarde.exiftool -EXIF= image.jpg
Avec imagemagick:
la source
-strip
supprime les profils de couleur. Pour tous ceux qui essaient de supprimer les données EXIF sans perdre les informations de profil, voir ma solution ici: stackoverflow.com/a/17516878/1854499ImageMagick a le paramètre -strip , mais il recompresse l'image avant de l'enregistrer. Ainsi, ce paramètre est inutile pour mon besoin.
Ce sujet du forum ImageMagick explique qu'il n'y a pas de support pour les opérations JPEG sans perte dans ImageMagick (chaque fois que cela change, veuillez poster un commentaire avec un lien!), Et suggère d'utiliser jpegtran (de libjpeg):
(Si vous n'êtes pas sûr que je réponde à ma propre question, lisez ceci et ceci et cela )
la source
jpegtran -copy none image.jpg newimage.jpg
-progressive
Cela réduira la taille.Vous voudrez peut-être également vous pencher sur Exiv2 - c'est très rapide (C ++ et pas de recompression), c'est une ligne de commande, et il fournit également une bibliothèque pour la manipulation EXIF avec laquelle vous pouvez établir un lien. Je ne sais pas combien de distributions Linux le rendent disponible, mais dans CentOS, il est actuellement disponible dans le dépôt de base.
Usage:
la source
Je proposerais
jhead
:Seulement 123 Ko sur debian / ubuntu, ne se recompresse pas. Notez cependant que cela mute l'image, alors copiez l'original si vous en avez besoin.
la source
J'ai récemment entrepris ce projet en C. Le code ci-dessous fait ce qui suit:
1) Obtient l'orientation actuelle de l'image.
2) Supprime toutes les données contenues dans
APP1
(Données Exif) etAPP2
(Données Flashpix) en les effaçant.3) Recrée le
APP1
marqueur d'orientation et le définit sur la valeur d'origine.4) Recherche le premier
EOI
marqueur (Fin de l'image) et tronque le fichier si nécessaire.Certaines choses à noter en premier sont:
1) Ce programme est utilisé pour mon appareil photo Nikon. Le format JPEG de Nikon ajoute quelque chose à la toute fin de chaque fichier qu'il crée. Ils encodent ces données jusqu'à la fin du fichier image en créant un deuxième
EOI
marqueur. Normalement, les programmes d'image lisent jusqu'au premierEOI
marqueur trouvé. Nikon a des informations après cela que mon programme tronque.2) Comme il s'agit du format Nikon, il suppose l'
big endian
ordre des octets. Si votre fichier image utiliselittle endian
, certains ajustements doivent être effectués.3) En essayant de
ImageMagick
supprimer des données exif, j'ai remarqué que je me suis retrouvé avec un fichier plus volumineux que celui avec lequel j'avais commencé. Cela m'amène à croire qu'ilImagemagick
s'agit d'encoder les données que vous souhaitez supprimer et de les stocker ailleurs dans le fichier. Appelez-moi à l'ancienne, mais lorsque je supprime quelque chose d'un fichier, je veux qu'une taille de fichier soit plus petite sinon la même taille. Tous les autres résultats suggèrent l'exploration de données.Et voici le code:
J'espère que cela aide quelqu'un!
la source
Astuce pour plus de commodité: si vous êtes sous Windows, vous pouvez appliquer un fichier REG au registre, pour installer une entrée dans le menu contextuel, afin de pouvoir facilement supprimer les métadonnées en cliquant avec le bouton droit sur le fichier et en sélectionnant la commande.
Par exemple (n'oubliez pas de modifier les chemins pour pointer vers l'endroit où les exécutables sont installés sur votre ordinateur):
Pour les fichiers JPEG, JPG, JPE, JFIF: commande " Supprimer les métadonnées "
(à l'aide d' ExifTool , conserve le fichier d'origine comme sauvegarde)
exiftool -all= image.jpg
JPG-RemoveExif.reg
Pour les fichiers PNG: commande " Convertir en PNG minifié "
(en utilisant ImageMagick , change les données en écrasant le fichier d'origine)
convert -background none -strip -set filename:n "%t" image.png "%[filename:n].png"
PNG-Minify.reg
Connexes: convertir des PNG en ICO dans le menu contextuel .
la source
Nous l'avons utilisé pour supprimer les données de latitude du fichier TIFF:
exiv2 mo -M"del Exif.GPSInfo.GPSLatitude" IMG.TIF
où vous pouvez utiliserexiv2 -pa IMG.TIF
pour répertorier toutes les métadonnées.la source
Pour la bande EXIF sans perte, vous pouvez utiliser libexif , qui est disponible avec cygwin . Supprimez à la fois EXIF et la vignette pour anonymiser une image:
.bat
Fichier glisser- déposer à utiliser avec cygwin:la source
Autre logiciel:
MetAbility QuickFix
"MetabilityQuickFix supprime toutes vos informations personnelles et données de localisation GPS de toutes vos photos, d'un simple clic de souris. Il supprime en toute sécurité tous les éléments de métadonnées des blocs de données Exif, Iptc et XMP de vos fichiers JPEG et effectue automatiquement des copies de sauvegarde des fichiers originaux "
Décapant JPEG et PNG
"Un outil pour supprimer / nettoyer / supprimer les métadonnées (indésirables) inutiles des fichiers JPG / JPEG / JFIF et PNG. La qualité d'image N'EST PAS AFFECTÉE. Inclut la prise en charge de la ligne de commande. Spécifiez simplement un dossier ou un fichier sur la ligne de commande (caractères génériques autorisés)"
la source
Si vous utilisez déjà jpegoptim, vous pouvez également l'utiliser pour supprimer l'exif.
la source