Je souhaite traiter des images par lot, mais je souhaite effectuer une tâche très spécifique.
Je l’ai fait dans Photoshop mais il ne conservait pas les dossiers et le contenu des sous-dossiers, il jetait simplement tous les fichiers convertis dans un seul répertoire.
Mon seul espoir est Linux: D
Merci d'avance!
Vous pouvez voir différentes discussions à ce sujet ici, mais Basharat Sial a travaillé pour moi
Nous pouvons utiliser la commande convert
pour convertir les images en noir et blanc:
convert -colorspace GRAY image.png b-w_image.png
Où image.png
est l'image d'entrée et b-w_image.png
est l'image imprimée.
En combinant cette commande avec find
, nous pouvons créer une doublure bash pour convertir toutes les images trouvées dans le répertoire parent.
Comment:
Ouvrez le terminal en appuyant sur Ctrl+Alt+T, cd
dans le répertoire parent/main et exécutez la commande suivante:
for img in $(find . -iname '*.png'); do echo -n "Converting $img"; convert -colorspace GRAY $img $img && echo ' [Done]'; done
Il convertira et écrasera toutes les images du répertoire parent. Je suggérerai de le tester sur certaines images temporaires et de l'exécuter sur des images réelles si vous êtes satisfait des résultats.
- monochrome est une option si vous voulez binaire en noir et blanc (1bit par pixel).
Il utilise un dithering intelligent et génère une sortie très visible:
convert -monochrome in.png out.png
Avant :
Après:
Pour maintenir la structure de répertoires, vous devrez le script comme mentionné par Basharat .