J'ai un répertoire avec beaucoup d'images mais ils sont mal orientés. Je veux faire pivoter les images pour corriger l'orientation (généralement ± 90 o ). En utilisant la visionneuse d'images (photo de puits), je peux les faire pivoter individuellement en cliquant sur le bouton de rotation, mais c'est trop fastidieux.
J'ai regardé man shotwell
et shotwell --help-all
mais il n'y a rien qui explique comment invoquer la commande de rotation à partir de la ligne de commande.
Existe-t-il un moyen d'invoquer la commande de rotation de Shotwell (ou de tout autre visualiseur) à partir du terminal? Ou toute autre méthode pour faire pivoter les images est également la bienvenue.
command-line
scripts
images
shotwell
pranphy
la source
la source
Réponses:
Si vous cherchez une implémentation bash pure, la
convert
commande ImageMagick est ce que vous recherchez:Ci-dessus laissera les fichiers existants intacts et copiera les fichiers nouvellement pivotés pour
/tmp
que vous puissiez les déplacer ou les copier ailleurs ou même remplacer les fichiers existants après la conversion et après la vérification .(et cela fonctionnera sur toutes les versions récentes d'Ubuntu car c'est un logiciel standard)
la source
Cela copiera, fera pivoter et renommera vos fichiers.
Si vous souhaitez laisser les fichiers originaux intacts pour l'instant, cette méthode peut bien fonctionner pour vous ...
Notez que cela respecte la casse: si vos fichiers sont nommés * .jpg, remplacez-les par des minuscules (ou * .png ...) en conséquence.
la source
Si vous souhaitez remplacer sur place,
mogrify
la suite ImageMagick semble être le moyen le plus simple d'y parvenir:CAVEAT : Ce n'est pas une méthode de rotation sans perte pour les fichiers JPEG, https://www.imagemagick.org/discourse-server/viewtopic.php?t=5899 .
jpegtran
atteint cet objectif (non testé):la source
mogrify
ne soit pas sans perte pour les fichiers JPEG, maisjpegtran
c'est le cas.Voici comment je le fais:
Installer gThumb
Ouvrez nautilus et accédez à votre répertoire d'images. Faites un clic droit sur l'un et choisissez
Open with -> gthumb
.Dans le
view
menu, choisissezBrowser
ou appuyez sur la Esctouche. Cela ouvrira le navigateur du répertoire affichant toutes vos images.Appuyez sur Ctrlet sélectionnez les images que vous souhaitez faire pivoter ou sélectionnez-les toutes via Ctrl+ A.
Dans la barre d'outils, sélectionnez
Tools
, puisRotate Right
ouRotate Left
selon votre préférence.la source
Une bonne solution est de faire un ensemble de sauvegardes (par exemple préfixées
backup-
), de faire pivoter les fichiers originaux en produisant un ensemble de nouveaux fichiers (préfixés par exemplerotated-
), vous donnant un ensemble deimg-1.png
backup-img-1.png
rotated-img-1.png
img-2.png
Les
mv
/cp
tools [bash globbing] ne peuvent ajouter que des préfixes, c'est compliqué de les enlever (il utiliserait l'expansion des paramètres, ewww ...)L'
rename
outil vous permet d'utiliser las/before/after/
syntaxe de substitution (à partir de l'sed
outil) pour échanger ce préfixe de sauvegarde et écraser les fichiers d'origine, de sorte que votre processus global pour un ensemble d'images donnéimg-
{1..n}.png
serait:Remarque:
cp
plutôt quemv
, mais il y a ensuite 2 copies de l'original qui traîne (l'inconvénient est que vous obtenez la concaténation des préfixes, "rotated-backup-
...")-rotate 270
vous permet d'obtenir 90 ° dans le sens inverse des aiguilles d'une montre)echo "Rotating ${imgf#backup-} ... ";
après lesconvert
appels (avantdone
)pour une forme plus compacte (par exemple un ensemble de fichiers numérotés), utilisez une extension de paramètre comme à la
echo "$(echo ${imgf#backup-img-} | cut -d\. -f 1)...";
place(Vous ne pouvez pas supprimer le préfixe et le suffixe dans la même extension de paramètre bash, utilisez donc
cut
)Ensuite, après vérification, vous n'avez pas gâché, supprimez les photos en les replaçant dans l'original
la source
Vous pouvez copier / coller ce code et l'enregistrer sous
rotate.sh
Après avoir enregistré ce fichier, exécutez-le à partir du terminal à l'aide de
./rotate.sh folder_containing_images
.la source