Changer le DPI dans un fichier JPEG sans réencoder? avec ImageMagick ou autre chose

1

Parfois, j'ai des fichiers image que je veux contenir un certain paramètre DPI. Notez que je ne parle que de la valeur DPI, c’est-à-dire de la valeur dans les métadonnées de l’image. Je ne veux pas redimensionner l'image réelle. Ainsi, par exemple, une résolution plus élevée réduira la taille en centimètres et le même nombre de pixels.

Je sais que je peux définir ou modifier le DPI d'une image à l'aide d'ImageMagick convert avec le -density paramètre, mais cela recodera l'image. Je veux éviter ça.

Existe-t-il un moyen, avec ImageMagick ou autre chose (ex. ExifTool ou quelque chose) de définir explicitement la valeur DPI d'un JPEG sans changer le contenu réel de l'image compressée?

Notez que j'utilise OS X et que je recherche un outil de ligne de commande pour le faire (je veux l'utiliser dans des scripts shell).

RocketNuts
la source

Réponses:

7

Vous pouvez le faire avec exiftool .

Votre commande serait:
exiftool -XResolution=# -YResolution=# FileOrDir
Remplacez la marque de hachage par le nouveau numéro DPI. Cette commande fera des sauvegardes de chaque fichier, ce que vous pouvez éviter en ajoutant -overwrite_original. Connexes est -ResolutionUnit qui peut être réglé sur None, inches, ou cm.

StarGeek
la source
Une autre option est: -jfif: Xresolution = 300 -jfif: Yresolution = 300 (suggéré par l'auteur de ExifTool ici): u88.n24.queensu.ca/exiftool/forum/index.php?topic=2164.0 )
Ben-Uri
pour les fichiers PNG 600dpi: exiftool -overwrite_original_in_place -PixelsPerUnitX=23607 -PixelsPerUnitY=23607 *.png
Matt Sephton