Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

Acideformik.com _ Informations et suggestions _ changement des tailles de photos en grand nombre

Ecrit par : adame Monday 16 November 2009 à 09:13

Quand on fait ses suivis, ou qu'on reviens d'expos, on a pas mal de photos à redimensionner.
J'utilise F-spot, mais il ne change pas la compression jpeg :/
j'ai donc écrit rapidement un script (à améliorer) qui redimensionne en 640 max, et met la qualité jpeg à 66.

CODE
#script bash
for i in *.JPG
do convert -auto-orient -resize 640x640 -quality 66 $i $i
done

à mettre dans un fichier conversionfofo.sh , chmod u+x dessus, à placer dans le dosssier ou vous avez copier les photos à resizer et à lancer en tapant ./conversionfofo.sh (attention, il écrase les photos origninales)
J'ai fait mieux dans le temps, j'améliorerai ce script certainement bientôt pour une utilisation avec piwigo (création de l'arborescence directement avec les thumbnail, et créations des lignes de raccourcis dans un fichier à part pour avoir les thumbnails clicquables), mais j'ai fait ça vite fait hier et c'est impec sur mon eeepc
Il vous faut le paquet imagemagick

Ecrit par : hubione Monday 16 November 2009 à 13:33

il fut un temps, j'avais aussi ajouté (via un fichier info.txt) des commentaires incrustés dans le base de l'image.

Ecrit par : Yaget Monday 16 November 2009 à 17:00

Je ne comprends pas très bien ton procéder adame blush2.gif !??

Ecrit par : hubione Monday 16 November 2009 à 17:38

CITATION(Yaget @ lundi 16 novembre 2009 à 17:00) *
Je ne comprends pas très bien ton procéder adame blush2.gif !??

si tu avais une machine sous linux, tu comprendrais.
sous windows, la commande existe aussi.

L'idée est de resizer toutes les images d'un répertoire pour qu'elles soient moins volumineuses, sans passer par ouvrir dans le logiciel, changer la taille, sauvegarder pour chaque photo.

hub

Ecrit par : Nolan Monday 16 November 2009 à 18:36

Sympa la petite commande.
Merci smile.gif

Ecrit par : Yaget Monday 16 November 2009 à 19:04

J'ai un mac, pas un pc :s

Ecrit par : hubione Monday 16 November 2009 à 20:19

et alors?
va voir là: http://www.imagemagick.org/script/binary-releases.php c'est dans ce "kit" que l'on trouve convert, et ca existe pour mac smile.gif

hub

Ecrit par : Tibo Monday 16 November 2009 à 20:59

Pour les utilisateurs de windows qui ne connaissent pas la ligne de commande, il y a moultes solutions, un exemple
http://picasa.google.fr/, clic-droit sur un dossier puis exporter sous forme de page HTML. Ca réduit les photos et ça génère une page html.
On ne garde que les photos si on veut...

Après pour les utilisateurs windows (Mac, Linux ...) qui connaissent la ligne de commande et les fichiers .bat , il y a l'excellent http://www.imagemagick.orget ces 1001 options pour améliorer le rendu final.
c'est un peut pareil mais dans un fichier .bat
FOR %%i IN (C:\dossier_source\*.jpg) DO convert -resize 400x400 %%i C:\dossier_source\%%~ni.jpg


Après, Adame a tout dit pour les utilisateurs Linux mais bon ... ils n'y en a pas beaucoup et ils sont souvent heureux et à l'aise derrière un prompt.

Ecrit par : erlik Monday 16 November 2009 à 21:42

Sous linux, en graphique, environement Gnome, avec Nautilus, le paquet nautilus-image-converter permet de selectionner/redimensionner les images d'un clique droit

Coté ligne de commande, avec imagemagick ( cité plus haut par hubione) , il y a la commande mogrify:
Par exemple, pour diminuer de 50% la taille de toutes les images d'un dossier:
­­­

CODE
mogrify -resize 50% *

Pour donner une taille precise en pixels (largeur x hauteur) a ttes les images jpg:
CODE
mogrify -resize 800x600 *.jpg

Pour convertir tout les images .bmp en .jpg :
CODE
mogrify -format jpg *.bmp

Ecrit par : adame Monday 16 November 2009 à 22:11

man mogrify
NAME
mogrify - resize an image, blur, crop, despeckle, dither, draw on,
flip, join, re-sample, and much more. Mogrify overwrites the original
image file, whereas, convert(1) writes to a different image file.

Ecrit par : erlik Monday 16 November 2009 à 22:19

a oui, j'avais oublié ...
bah sinon reste convert en effet si on ne veut pas toucher a l'image d'origine...

Ecrit par : adame Monday 16 November 2009 à 22:32

CODE
#script bash
for i in *.JPG
do
mkdir thumbnail pwg_high
cp $i pwg_high/$i #dernier $i un poil inutile
convert -auto-orient -resize 128x128 -quality 36 $i thumbnail/TN-$i
convert -auto-orient -resize 640x640 -quality 66 $i $i
done


exemple plus élaboré pour convertir pour une galerie piwigo, avec format high quality, thumbnail etc... reste un client ftp pour uploader tout ça. A la limite, un redimensionnement en 1024 pour les images de pwg_high est possible aussi.
attention à la compression des jpg, mon compact à un réglage de base en compression de seulement 98, et même en 800x600 ça reste très lourd, environ 200k, alors que ça passe à 70 en gros en compression de 66%
y a plus qu'à ajouter une signature aussi. normalement convert devrait pouvoir le faire.

Ecrit par : Tibo Tuesday 17 November 2009 à 01:50

utiliser -thumbnail à la place de -resize donne des fichiers bien plus légers de mémoire.

Ecrit par : adame Tuesday 17 November 2009 à 12:08

effectivement, à tester
http://www.imagemagick.org/script/command-line-options.php#thumbnail

-thumbnail geometry
Create a thumbnail of the image.

This is similar to -resize, except it is optimized for speed and any image profile, other than a color profile, is removed to reduce the thumbnail size. To strip the color profiles as well, add -strip just before of after this option.

Ecrit par : adame Tuesday 17 November 2009 à 14:08

CODE
#script bash
#création des dossiers
mkdir thumbnail pwg_high originaux
#evite d ecraser les originaux si deuxieme passage du script
cp originaux/* .
#cree la signature et son texte
echo "adame @ acideformik" > signature.txt

#format de la signature, different pour taille normale et grande taille
texte="-annotate 0 @signature.txt -gravity southeast -fill silver -font Times-BoldItalic -pointsize 24"
texte2="-annotate 0 @signature.txt -gravity southeast -fill silver -font Times-BoldItalic -pointsize 48"
for i in *.JPG
do
cp $i originaux/$i #sauvegarde des originaux
convert -auto-orient -resize 1280x1280 -quality 98 $texte2 $i pwg_high/$i #grande qualité suffisante pour l upload
convert -auto-orient -thumbnail 128x128 -strip $i thumbnail/TN-$i #thumdnails de 4ko
convert -auto-orient -resize 640x640 -quality 66 $texte $i $i #image pour forum, 640 dans sa dimension max
echo $i "convertie"
done


bon, là par contre, je doute que picasa ou autre fasse la même chose avec un clic droit.

Ecrit par : erlik Tuesday 17 November 2009 à 16:31

CITATION(adame @ mardi 17 novembre 2009 à 14:08) *
bon, là par contre, je doute que picasa ou autre fasse la même chose avec un clic droit.


bah si, en utilisant ce code pour ajouter une fonction au menu contextuel ac nautilus-actions mrgreen.gif

Ecrit par : adame Wednesday 18 November 2009 à 11:15

CITATION(erlik @ mardi 17 novembre 2009 à 16:31) *
bah si, en utilisant ce code pour ajouter une fonction au menu contextuel ac nautilus-actions mrgreen.gif

je te laisse le soin de faire le tuto alors wink.gif
perso je préfére la ligne de commande (quique, ça peut etre pratique)

il me semble que convert peut faire les niveaux de couleur automatiquement (comme gimp et l'autre)...
si quelqu'un à des notions pour m'aiguiller sur l'option, je prend wink.gif

Ecrit par : Tibo Wednesday 18 November 2009 à 22:39

CITATION(adame @ mercredi 18 novembre 2009 à 11:15) *
il me semble que convert peut faire les niveaux de couleur automatiquement (comme gimp et l'autre)...


Il y a -auto-level dans la liste des options http://www.imagemagick.org/script/command-line-options.php, jamais testé...

Sinon,parce que j'ai un souvent utilisé imagemagick dans mon ancien taf (retaille de 3000000 fichiers HD en Vignettes et preview - donc moulte tests avant de lancer l'opération) j'utilisai de mémoire ces options :
+profile avec un fichier de profil sRGB (pour de belle couleur dans les navigateurs) que l'on trouve dans windows ici C:\WINDOWS\system32\spool\drivers\color\sRGB Color Space Profile.icm ou ailleurs
-quality
-sharpen pour les vignettes (ça leur donne un petit coup de peps/"piqué")
-thumbnail
-compress JPEG
(-sampling-factor)
et un truc pour saturer un poil mais je ne me rappelle plus. J'éditerai avec les valeurs si je retrouve le script

Ecrit par : adame Thursday 19 November 2009 à 07:17

auto-level
The operator is not typically used for real-life images, image scans, or JPEG format images, as a single 'out-rider' pixel can set a bad min/max values for the -level operation. On the other hand it is the right operator to use for color stretching gradient images being used to generate Color lookup tables, distortion maps, or other 'mathematically' defined images.

pose problème
j'ai utilisé -unsharpen 0 et -normalize pour l'instant. l'auto-gamma peut aussi aider je pense.

bref, c'est en cours, mais bon nombre de ces options ne semblent dispo que dans les dernières version d'imagemagick, sur mon eeepc, j'ai que la version d'ubuntu 9.04 qui date un peu. j'ai mergé la version unstable sur mon pc fixe, faut que je teste aujourd'hui, je mettrai des photos.
sinon, j'ai un bon benchmark avec le post de liquido et les 2 image (départ et arrivée) de son tuto de la retouche photo 9784

Ce topic ne serait-il pas à une meilleure place dans déclic photo ?

Ecrit par : adame Friday 20 November 2009 à 08:54

bon, difficile d'avoir le même résultat que liquido en automatique wink.gif

mais il semble que -equalize donne des résultats étrange
-normalize permet de retirer le film gris (refaire le contraste)
-enhance nettoye l'image
-sharpen permet d'améliorer la nettetee, mais pas facile de trouver des réglages qui vont bien pour toutes les photos. là, j'en suis à faire -sharpen 6x2 mais j'ai pas d'expérience en retourche photo.
normalize -channel rgb permet de faire les niveaux de chaque couleur indépendamment, mais ça modifie trop les couleurs à mon gout

les trucs en auto-qq chose marchent pas à cause de ma version d'imagemagick installée, pas pu tester.

Ecrit par : adame Friday 20 November 2009 à 20:20


voilà ou j'en suis pour le script
-normalize -enhance en général, ça me pose pas de problème
reste le sharpen :

sans le sharpen 5x2
http://af.adame.free.fr/galleries/colos/Aphaenogaster_gibbosa/p1070405ssSharpen.jpg

avec le sharpen
http://af.adame.free.fr/galleries/colos/Aphaenogaster_gibbosa/p1070405.jpg

en gros, le sharpen c'est vraiment à faire à la main, donc...
je vais m'en tenir au normalize qui donne d'assez bon résultats simplement.

reste 2 ou 3 optimisations du truc et ça atterit ici rapidement.

Ecrit par : adame Sunday 22 November 2009 à 13:07

j'en ai discuté avec sipatte et liquido rapidement. Il s'avère que le sharpen est un réglage à n'utiliser que de façon manuelle, j'aurai jamais un réglage qui fonctionnera pour toutes les photos.
Avec imagemagick, je vais me contenter du normalize, qui me donne grosso-modo un amélioration équivalente au niveaux de couleur en automatique avec gimp.
L'option enhance améliore les photos bruitées, mais justement..; si y a pas de bruit, pas sur que ça ne dégrade pas le tout.

Je pourrais ne mettre un sharpen faible que sur les photos grandes tailles, mais bon, autant faire ça à la main si c'est pour faire de la qualité wink.gif
Et à, le but c'est de faire du nombre wink.gif (ainsi qu'insérer une signature).
Donc autant rester dans les traitements légers mais passe partout.

Voilà, merci à tibo et erlik et aux autres dans la recherche des options utiles wink.gif

Ecrit par : Tibo Sunday 22 November 2009 à 14:47

CITATION(adame @ dimanche 22 novembre 2009 à 13:07) *
le sharpen est un réglage à n'utiliser que de façon manuelle

Le sharpen est à utiliser sur les vignettes uniquement. Je trouve le résultat plus sympa

Sans Sharpen


convert c:\hd.jpg -thumbnail 170x170 -quality 85 -sharpen 5 c:\ths.jpg
Avec Sharpen


J'utilise la commande sharpen perso, sur le site IM, il parle de unsharp
CITATION
"Some people (including myself) find that while IM's resize is one of the best implementations (See IM Resize vs other Programs), the result is still a little blurry. As such you can improve the above result by sharpening the image slightly (using "-unsharp") after the "-thumbnail" resize operation. "


Ecrit par : adame Sunday 22 November 2009 à 15:17

pendant que j'y pense, je viens de trouver ça dans les options :

widthxheight> Change as per widthxheight but only if an image dimension exceeds a specified dimension.

donc, -resize 1280x1280> redimensionne en 1280 max, en préservant l'aspect, sauf si la photo est déjà plus petite que 1280.
utilisez plutôt "1280x1280>". si je ne met pas les guillemets, ça cafouille chez moi.

Ecrit par : adamé Sunday 22 March 2015 à 11:24

Avec windows (ou linux) il suffit d'installer imagemagick (libre et gratuit) http://www.imagemagick.org

Ensuite, pour redimensionner tout un répertoire de jpg, il suffit d'utiliser mogrify en ligne de commande
ex :
mogrify -resize 50% *
va réduire toutes les images à 50% de leurs dimensions (les images 3000x2000 seront réduites en 1500x1000).

simple et rapide.

Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)