Bonjour,
j'utilise cette commande pour améliorer mes pauvres photos prises avec mon smartphone :
convert -auto-gamma -auto-level -normalize j.jpg improved.jpg
Et cela marche bien, la qualité de mes photos est légèrement améliorée.
Mais je voudrais pouvoir traiter en une seule fois toutes les photos dans un dossier, comment faire ?
Merci.
# hop, facile
Posté par Tonton Th (Mastodon) . Évalué à 6.
Une variante de de la commande
convert
permet de traiter une foultitude d'images d'un coup, mais il faut être très prudent : elle ne fait pas de copie des fichiers d'origine, elle écrase avec le résultat !$ mogrify -auto-gamma -auto-level -normalize *.jpg
[^] # Re: hop, facile
Posté par arnauld . Évalué à 2.
Merci. Oui, je copie les photos avant dans un dossier "travail" pour être sur de ne rien perdre.
arnauld
# script pour conversion
Posté par MicP . Évalué à 2. Dernière modification le 03 janvier 2023 à 02:31.
Bonjour
Tel que tu poses le problème, il faudrait donner un nom différent à chacune des photographies converties, c'est possible, mais ça ne serait pas facile à gérer si la conversion ne convenait pas à ce que tu attendais.
Je te propose de garder le même nom pour chacune des photographies converties et de mettre chacune des photos converties dans un sous-répertoire nommé "converties" (qui sera automatiquement créé si besoin).
De cette façon, tu pourras facilement voir ce que la conversion a donné,
et si besoin supprimer toutes les photographies originales pour les remplacer par celle converties simplement en utilisant ton navigateur de fichier.
Ci-dessous, le contenu du script que je te propose, dans lequel tu pourras changer les valeurs des premières variables pour les adapter à ta convenance.
[^] # Re: script pour conversion
Posté par arnauld . Évalué à 1.
Merci beaucoup pour ce script très complet. Bonne soirée.
arnauld
[^] # Re: script pour conversion
Posté par Gil Cot ✔ (site web personnel, Mastodon) . Évalué à 3.
Un autre commentaire dit que la copie est déjà faite dans un répertoire travail, donc on pourrait y aller directement… avec
find
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
# GNU parallel
Posté par harlock974 . Évalué à 5.
Pour accélérer considérablement le traitement (si tu as beaucoup d'images) tu peux utiliser GNU parallel qui va répartir la tâche sur plusieurs cœurs du CPU :
ls *.jpg | parallel "mogrify -auto-gamma -auto-level -normalize"
[^] # Re: GNU parallel
Posté par chimrod (site web personnel) . Évalué à 5. Dernière modification le 03 janvier 2023 à 10:01.
Attention, la commande va se mettre à donner des résultats bizarres dès que tu auras des espaces dans le nom de fichier. Quitte à utiliser une redirection, je préfère le couple
find
/xargs
qui te permet aussi d’utiliser plusieurs process :Exemple trivial :
find . -name '*.jpg' -print0 | xargs -0 -I '{}' --max-procs 0 echo "fichier {}"
ou la version avec
find
tout seul (mais séquentielle) :find . -name '*.jpg' -exec echo fichier {} \;
[^] # Re: GNU parallel
Posté par wismerhill . Évalué à 4.
La commande parallel a aussi une option -0/--null (mais par défaut, c'est les retours à la ligne, pas les espaces)
[^] # Re: GNU parallel
Posté par chimrod (site web personnel) . Évalué à 3.
Merci tu m’apprends quelque chose là !
[^] # Re: GNU parallel
Posté par arnauld . Évalué à 1.
Merci, mais j'utilise cette commande via Termux directement dans mon ordiphone.
arnauld
# Un script maison que j'utilise (avec python)
Posté par François GUÉRIN (Mastodon) . Évalué à 2.
Salut,
J'ai fait ce script pour redimentionner automatiquement des images - il s'agit de portraits à insérer dans un annuaire, mais c'est adaptable, hein !
https://gitlab.com/frague59/resize
Il utilise opencv pour localiser les visages, il est parallélisé…
Courage !
[^] # Re: Un script maison que j'utilise (avec python)
Posté par arnauld . Évalué à 1.
Merci, je vais essayer! Sur mon pc car l'aide pour la commande concernait essentiellement les photos (mauvaises) prises avec mon smartphone. Je le fais directement dans mon ordiphone avec Termux.
Pour mes autres photos sur mon PC j'utilise imgp https://github.com/jarun/imgp qui me plait bien mais je vais essayer ton script car la fonction pour localiser les visages m'intéresse bien et je crois qu'imgp n'a pas cette possibilité…
arnauld
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.