Bonjour,
J'aimerais traiter toutes les images .jpg contenues dans le répertoire "images_sources" avec la commandeLe fichier 'nadir.jpg' est à la racine du projet, il ne change jamais. L'image contenue dans le répertoire 'images_sources' est patchée avec 'nadir.jpg' et le résultat est exporté dans le répertoire 'images_traitees'
Code : Sélectionner tout - Visualiser dans une fenêtre à part jpegtran -copy all -optimize -progressive -trim -drop +0+2304 nadir.jpg "$img" > "$output_img"
J'ai bricolé un script mais il ne traite que la première image du répertoire source. Comme le modifier pour qu'elle soient toutes traitées une par une ?
le script en question :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 #!/bin/bash # Vérifier si le répertoire contenant les images existe if [ ! -d "images_source" ]; then echo "Erreur : Le répertoire 'images_source' n'existe pas." exit 1 fi # Créer le répertoire 'images_traitees' s'il n'existe pas déjà if [ ! -d "images_traitees" ]; then mkdir images_traitees fi # Créer une liste de toutes les images .jpg dans le répertoire images_source images_to_process=() for img in images_source/*.jpg; do # Vérifier si l'image existe avant de l'ajouter if [ -f "$img" ]; then images_to_process+=("$img") fi done # Si aucune image n'a été trouvée if [ ${#images_to_process[@]} -eq 0 ]; then echo "Aucune image .jpg trouvée dans le répertoire 'images_source'." exit 1 fi # Traiter chaque image avec jpegtran et incrémenter le nom du fichier de sortie dans 'images_traitees' counter=1 for img in "${images_to_process[@]}"; do output_img="images_traitees/image_nouvelle_${counter}.jpg" # Traiter l'image jpegtran -copy all -optimize -progressive -trim -drop +0+2304 nadir.jpg "$img" > "$output_img" # Vérifier si la commande a réussi if [ $? -eq 0 ]; then echo "L'image $img a été traitée et sauvegardée sous '$output_img'." else echo "Une erreur est survenue lors du traitement de $img." fi # Incrémenter le compteur pour le nom du fichier suivant ((counter++)) done
Partager