Pages : 1
#1 Le 17/03/2008, à 00:31
- Waloche
script fu et les png-8
Bonjour à tous,
Voila plusieurs jours que j'essaye de comprendre script fu pour obtenir le résultat que je veux... malheureusement, bien que j'ai compris certaines chose, je n'arrive pas à faire mon script correctement.
Je m'explique; je travaille sur une série de 5000 images png-8 bits (64 x 64) et j'ai besoin de différencier celle qui ont un vert pure (0,255,0) en index 0 des autres... Donc en gros il faudrait que mon script ouvre l'image lise la valeur de l'index 0 et si elle ne contient pas un index 0 vert, retourne son nom ou un message ...
Est ce que quelqu'un pourrait m'expliquer comment faire?
Merci d'avance
#2 Le 17/03/2008, à 02:56
- Alain.g
Re : script fu et les png-8
Salut
Pourquoi ne pas le faire plutôt en Bash. Je ne vois pas trop l'intérêt de passer par Gimp pour ça
A priori j'utiliserais imagemagick et son programme identify, avec grep pour tester si l'index 0 est vert ou non
identify -verbose img.png | grep -q ' 0: *( *0, *255, *0)' || echo "index 0 n'est pas vert"
Ceci dit il existe plein d'outils pour les PNG, il y a sûrement plus approprié et rapide que de passer par "identify -verbose".
Si tu as 5000 images, j'imagine l'opération doit être récursive (dossiers +sous dossiers).
Il est possible d'utiliser pour cela la commande find
Si ça fonctionne comme voulu avec identify, voici un exemple dans un script Bash
#!/bin/bash
dossier=("$HOME/images/png")
IFS=$'\n'
img=(`find "${dossier[@]}" -iname '*.png'`)
t=${#img[@]}
for i in "${img[@]}"
do
((n++)) ; progress=$(echo "scale=2;$n*100/$t" | bc)
printf "Progression de l'analyse : $progress %% ($n/$t)\r"
identify -verbose "$i" | grep -q ' 0: *( *0, *255, *0)' || result+="$i\n"
done
printf "\nPNG n'ayant pas un index 0 vert :\n\n$result\n"
S'utilise en console. Il faut avoir installé imagemagick.
Indiquer le chemin du dossier à la place de "$HOME/images/png". il est possible d'en indiquer plusieurs, par exemple : dossier=("$HOME/images/png" "/tmp" "$HOME/dossier/truc")
Pour avoir le résultat dans un fichier texte, ajouter ">fichier.txt" à la fin de la dernière ligne.
Dernière modification par Alain.g (Le 02/04/2008, à 15:00)
Xubuntu Karmic !
Hors ligne
#3 Le 17/03/2008, à 23:07
- Waloche
Re : script fu et les png-8
Merci Monsieur, je teste de suite!
Pages : 1