60 votes

Faites pivoter les images à partir du terminal

J'ai un répertoire avec beaucoup d'images mais elles sont dans la mauvaise orientation. Je veux faire pivoter les images pour corriger l'orientation (principalement ±90o). En utilisant le visualiseur d'images (shotwell photo), 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 depuis la ligne de commande.

Y a-t-il un moyen d'invoquer la commande de rotation de shotwell (ou de tout autre visualiseur) depuis le terminal ? Ou tout autre méthode pour faire pivoter les images est également la bienvenue.

1voto

vin Points 11

Vous pouvez copier/coller ce code et l'enregistrer sous le nom de rotate.sh

#!/bin/bash -e

CUR_DIR=$(pwd)
cd $1
for file in *.jpg
do
    convert $file -rotate 90 $file
done
cd $CUR_DIR

Après avoir enregistré ce fichier, exécutez-le depuis le terminal en utilisant ./rotate.sh dossier_contenant_des_images.

1voto

acodispo Points 31

Comme le note krlmlr dans leur réponse, jpegtran (installé sur Ubuntu avec sudo apt install libjpeg-turbo-progs) est disponible pour une rotation sans perte, mais comme il produit en sortie standard, la commande à utiliser serait quelque chose comme ceci:

$ for img in *.jpg; do jpegtran -rotate 90 -copy all $img > rotated-${img}; done

Cette commande prendra chaque fichier dans le répertoire actuel, et produira une version tournée (90° dans le sens des aiguilles d'une montre) de chaque fichier avec le nouveau nom nom-image-rotatée.jpg. L'option -copy all sert à copier toutes les métadonnées dans le nouveau fichier.

Pour plus d'informations, consultez man jpegtran.

Une information supplémentaire étant donné que la question originale faisait référence à Shotwell: selon la documentation de Shotwell, les rotations et autres modifications de Shotwell n'éditeront en réalité pas les fichiers sur le disque:

Shotwell est un éditeur de photos non destructif. Il ne modifie pas vos photographies originales. Autrement dit, si vous recadrez une photo ou ajustez ses couleurs, le fichier photo sur le disque reste inchangé. Shotwell stocke vos modifications dans une base de données et les applique au besoin en cours d'utilisation. Cela signifie que vous pouvez annuler toutes les altérations que vous apportez à une photographie.

0voto

Bruno Points 101

Que diriez-vous de exiftran - transformer des images jpeg d'appareil photo numérique

Je sais que c'est un peu limité (jpeg) mais il a automatique (en utilisant la balise d'orientation exif).

pour photo dans *.jpg
  faites exiftrans -ia $photo
terminé

À propos de Exiftran, il s'agit d'un utilitaire en ligne de commande pour transformer les images jpeg d'un appareil photo numérique. Il peut effectuer des rotations sans perte de qualité comme jpegtran(1), mais contrairement à jpegtran(1), il prend en compte les données EXIF : il peut tourner les images automatiquement en vérifiant la balise d'orientation exif ; il met à jour les informations exif si nécessaire (dimension de l'image, orientation) ; il tourne également la miniature exif. Il peut traiter plusieurs images à la fois.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X