Comment puis-je redimensionner toutes les images d'un dossier à la même largeur?

97

Je souhaite redimensionner toutes les images d'un dossier à la même largeur (mais à des hauteurs différentes). Comment puis-je faire cela en utilisant un outil graphique ou en ligne de commande?

Pour les points bonus, est-il possible de limiter les images mises à l'échelle en fonction de leur largeur initiale (c'est-à-dire, uniquement les images d'échelle ayant une largeur> x et / ou une largeur <y)?

david.libremone
la source
avconv peut le faire via l'interface de ligne de commande - Voir: libav.org/avconv.html#scale-1
Elder Geek

Réponses:

152

C'est très facile à faire avec imagemagick . Vous devriez pouvoir l'installer dans le centre logiciel. Je le suggérerais pour le traitement par lots d'images.

Le redimensionnement par lots est incroyablement simple (je l’ai testé avec Ubuntu 11.10). Utilisez la commande suivante pour redimensionner chaque fichier .jpg à une largeur de 200 pixels tout en conservant le rapport de format:

$ convert '*.jpg[200x]' resized%03d.png

vous pouvez conserver le nom de fichier en utilisant l'option -set. Ex:

convert "images/*.jpg[250x]" -set filename:base "%[base]" "images/new_folder/%[filename:base].jpg"

Si vous avez plus de fichiers à utiliser avec find

find /folder -iname '*.JPG' -exec convert \{} -verbose -set filename:base "%[base]" -resize 1920x1080\> "/folder/images/%[filename:base].JPG" \;

Cela ne fait qu’effleurer la surface du pouvoir d’Imagemagick. Le redimensionnement peut être ajusté à l'infini . Pour un redimensionnement plus avancé, vous devez utiliser l' -resizeoption.

Vous pouvez limiter le redimensionnement à la réduction :

$ convert '*.jpg[300x>]' thumb-300-%03d.png

ou agrandissement :

$ convert '*.jpg[300x<]' thumb-300-%03d.png

Consultez la documentation sur la géométrie pour voir plus d'options.

bandi
la source
1
Pourquoi jpg en png?
JohnyTex
3
Les extensions .jpg et .png ne sont qu'un exemple pour illustrer l'utilisation de différents formats.
Bandi
Pour plus d'informations sur l'option -set : imagemagick.org/script/command-line-options.php ; fondamentalement, -set <property-name> <value>définit une propriété; %<one-character>et %[<one-or-more-characters>]sont étendus par Imagemagick à leur valeur; Les propriétés utilisées pour déterminer par programme le nom du fichier de sortie doivent commencer filename:, nous devons donc copier la basepropriété, contenant le chemin de l'image, dans une filename:<something>propriété.
Marcotama
1
Merci de partager cette astuce, je ne savais pas!
Marcotama
2
unknown image property "% [base]"
Post Self
32

Pour l'interface graphique, Phatch "un clic vaut mille photos" est le meilleur pour un travail aussi rapide. Il est déjà dans le référentiel Ubuntu.

sudo apt-get install phatch
  1. Ajouter un élément Scale & Save
  2. Définir les options d'échelle / redimensionnement
  3. Définir les options de sauvegarde / sortie
  4. Courir
  5. Définir le dossier d'entrée
  6. Cliquez sur batch pour exécuter

entrez la description de l'image ici entrez la description de l'image ici

utilisateur.dz
la source
2
Pour un vote positif, un exemple montrant comment accomplir réellement la tâche de la question serait bien :) Mais merci pour le conseil, bel outil!
Jaywink
2
Cela ne fonctionnait pas sur ma machine (Ubuntu Mate 16.04). L'application était bloquée sur l'écran de démarrage
Gunith D
1
@GunithDevasurendra, essayez-le à partir de la ligne de commande pour vérifier les erreurs. si vous ne parvenez pas à le résoudre, veuillez écrire une autre question et inclure ce résultat.
user.dz
1
Excellent outil, je l'utilise depuis des années. Malheureusement, il n'est pas maintenu et ne fonctionne pas dans les versions actuelles d'Ubuntu. J'espère que quelqu'un pourra bifurquer le code pour le réparer.
Diego V
Sur Fedora, ce n’est pas la même chose que ci-dessus et n’a aucune fonctionnalité de ce type
Vlad
29

Essaye ça:

sudo apt-get install gimp-plugin-registry

Ensuite, ouvrez Gimp et ouvrez le plugin Batch trouvé dans Filters > Batch > Batch Process.

Sélectionnez vos images dans l' Inputonglet et définissez l'opération de redimensionnement dans l' Resizeonglet au nom surprenant .

Plus d'informations peuvent être trouvées ici .

SirCharlo
la source
21

Essayez la mogrifycommande à partir des outils ImageMagick.

  • donne un chemin pour séparer la sortie des originaux
  • donner la largeur ou la hauteur désirée de la vignette, sous un exemple de largeur
  • Ainsi, vous conservez le nom de fichier d'origine :-)

Exemple:

$ mogrify -path small/ -auto-orient -thumbnail 300x *.jpg
miguelfg
la source
1
C'est la meilleure réponse à mon avis!
Tom
2
$ mogrify -path small / -resize 300x * .jpg
Iurie Malai
+1 et vous pouvez redimensionner le côté le plus long, que ce soit pour un portrait ou une image pivotée avec un paysage: stackoverflow.com/a/5694903/227926
therobyouknow
8

Répondu et accepté (et j'utilise ImageMagick) mais pour être complet ... J'ai un patron non technique qui voulait un visualiseur simple avec quelques outils de base et ce devait être une interface graphique. J'ai choisi gThumb pour lui.

Dans la vue miniature, vous ...

  • Sélectionnez les images que vous souhaitez redimensionner
  • Démarrer la fonction de redimensionnement (cliquez sur l'icône Clé> Redimensionner les images ..)
  • Mettre dans une nouvelle taille basée sur les pixels ou le pourcentage
  • Sélectionnez un dossier de sortie, et c'est parti.
Dennis
la source
Pour le redimensionnement, c'est une alternative décente à Phatch jusqu'à ce qu'il soit fixé à 16.04.
Hastig Zusammenstellen
3

Pour le redimensionnement d’image par lot, j’ai examiné de nombreux paquets et en ai finalement trouvé un avec une interface utilisable - converseen . Une fois que vous avez découvert que les paramètres importants sont quelque peu masqués dans le volet gauche défilant, tout va bien.
Vous ne savez pas si cela répond à tous les cas d'utilisation des PO, mais vous n'aurez peut-être pas à regarder les IU bizarres d'Imagemagick ou de Phatch.
Bizarrement, les logiciels de gestion de photos tels que digikam, f-spot, fotoxx ou shotwell ne semblent pas reconnaître le besoin de copier / redimensionner des lots d’images avant de les télécharger sur des services en ligne tels que photobucket ou (gag) flickr. Ces services veulent que nous fassions les choses à leur façon, alors je ne leur fais pas confiance pour la sauvegarde des originaux.

Mike
la source