Re: logiciel traitment d'image en ligne de command

Page principale

Répondre à ce message
Auteur: Edgar Bonet
Date:  
À: Liste Guilde
Sujet: Re: logiciel traitment d'image en ligne de command
Le mercredi 1 octobre, Frederic Ollivier a écrit :
> 1500 .jpg en faite des scannes de photos d'identités des éléves.
> avec des formats plus ou moins différents.
> je recherche un moyen rapide de tout les recadrer au méme format et de
> leur appliquer la même compression.


Je m'étais posé le même problème pour faire le trombinoscope de la
Guilde :

    http://www.guilde.asso.fr/guilde/trombinoscope/


Frédéric Mantegazza a répondu :
> Il y a convert, du paquet ImageMagick (ligne de commande)


C'est ce que j'utilise, c'est probablement déjà installé sur ta
distribution. Exemple en bash :

    mkdir reduits
    for f in *.jpg; do
        convert -geometry 200x200 -quality 60 $f reduits/${f%.jpg}.jpeg
    done


remarque qu'au passage tu corriges l'extension (.jpeg).

En fait pour le trombinoscope c'est un script Perl qui utilise
l'interface PerlMagick, mais j'utilise aussi souvent l'interface ligne
de commande.

> tout les recadrer au méme format


Ça c'est un peu délicat, car en recadrant tu risques de couper des bouts
de tête, des oreilles... mais je le fais quand-même pour le
trombinoscope. Voici mon algo :

si (largeur != largeur_désirée ou hauteur != hauteur_désirée) {
    si (largeur/hauteur > largeur_désirée/hauteur_désirée) {
        nouvelle_largeur = hauteur*largeur_désirée/hauteur_désirée;
        recadrer à la nouvelle_largeur, en enlevant symétriquement à
        droite et à gauche;
    }
    sinon, si (largeur/hauteur < largeur_désirée/hauteur_désirée) {
        nouvelle_hauteur = largeur*hauteur_désirée/largeur_désirée;
        recadrer à la nouvelle_hauteur, en enlevant symétriquement en
        haut et en bas;
    }
    redimensionner à largeur_désirée et hauteur_désirée;
}


Remarque que je recadre avant de redimensionner, ce qui est mieux que le
contraire : il vaut mieux tout faire à la plus haute résolution et
redimensionner à la fin.

Je peux te passer le script Perl si tu veux, mais il contient plein de
choses qui ne t'intéressent probablement pas : parsing d'un fichier XML
et d'un modèle de mise en page, génération de HTML.

Edgar.

-- 
Edgar Bonet           Maison : 04 76 21 29 16    Bureau : 04 76 88 10 96
3 rue Jean Prévost    Mobile : 06 77 19 79 39    Fax    : 04 76 88 11 91
38000 Grenoble        guilde@???     www.edgar-bonet.org