imagemagick: 24 bits -> 8 bits ?

Le
Hugolino
Salut,

J'ai un script qui fabrique des vignettes (des png) et une page html
quand on le lance dans un répertoire contenant des photos (des jpg).

Ce script utilise la commande convert de imagemagick comme ceci:
convert -geometry 240x180 "$file_IN" "$file_OUT" >/dev/null 2>&1

Mais la vignette créée pèse environ 100 ko car elle est en 24 bits et je
trouve ça trop lourd.

J'ai fait un test en passant l'option «-depth 8» mais la vignette fait
exactement le même poids.

Si je demande à mon script de faire un gif (donc 256 couleurs), c'est
bon ma vignette est trois fois plus légère, seulement voilà, je
préfererais un png plutôt qu'un gif.

Si j'utilise l'option «-thumbnail» à la place de «-geometry», je ne
gagne que 17 %.

Bref
Quelqu'un connait le moyen de passer un png de 24 à 8 bits/pixel ?

Merci de votre aide

PS: un exemple -> <http://roulaize.fr/pinch/2007-09-26>

--
une sensation que Windows ne pourra jamais procurer à ses utilisateurs,
c'est celle de sentir qu'on a réussi grâce sa connaissance profonde du
système et non pas à cause d'un clic de souris chanceux
Hugo (né il y a 1 370 866 514 secondes)
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Stéphan Peccini
Le #1903410
Sur fr.comp.os.linux.configuration, Hugolino s'est exprimé ainsi :

Ce script utilise la commande convert de imagemagick comme ceci:
convert -geometry 240x180 "$file_IN" "$file_OUT" >/dev/null 2>&1

Mais la vignette créée pèse environ 100 ko car elle est en 24 bits et je
trouve ça trop lourd.


Elle est en 24 bits, soit 8 bits par canal.

J'ai fait un test en passant l'option «-depth 8» mais la vignette fait
exactement le même poids.


-depth 8 ==> 8 bits par canal soit 24 bits pour la couleur ; tu n'as rien
changé.

Il faut jouer sur le nombre de couleurs de la photo et pas la profondeur
(j'ai pris la première vignette pour les essais) : -colors

http://www.imagemagick.org/script/command-line-options.php#colors

convert -colors 64 te permet de baisser la taille de tes vignettes à 20 ko
environ sans trop dégrader la qualité ; à toi de voir ce que tu veux
obtenir.

Par contre, si tu convertis en jpeg la vignettee, sans perte visuelle de
qualité elle passe à 15 ko sous Gimp ou convert avec 90 en facteur de
compression, et à 8 ko avec un facteur à 70 sans dégradation visible.

convert -quality 70 tn_P1020350.png tn_P1020350_70.jpg

Sinon, je pense que la discussion devrait se tenir sur le forum approprié, à
savoir fr.rec.photo.labo.numérique. Je te laisse continuer là-bas (mais je
n'y irai pas) ou par mail si tu veux.

--
Stéphan Peccini
Les photos : Les Pyrénées : Le blog :
pehache-tolai
Le #1903409
"Hugolino"
Salut,

J'ai un script qui fabrique des vignettes (des png) et une page html
quand on le lance dans un répertoire contenant des photos (des jpg).

Ce script utilise la commande convert de imagemagick comme ceci:
convert -geometry 240x180 "$file_IN" "$file_OUT" >/dev/null 2>&1

Mais la vignette créée pèse environ 100 ko car elle est en 24 bits et
je trouve ça trop lourd.



Pourquoi utiliser du PNG plutôt que du JPG ? Le PNG est lossless donc moins
bien adapté à une image de type photo.

--
pehache
http://pehache.free.fr/public.html

Michel Tatoute
Le #1903406
pehache-tolai wrote:

"Hugolino"

Publicité
Poster une réponse
Anonyme