Un script de réduction des images par lot sous Linux

Le 14 octobre 2018 à 16h42

Bonjour à tous,

Je viens d’écrire un script de réduction d’images par lot sous Linux, très simple d’utilisation.
Si vous souhaitez le récupérer, contactez-moi via le site et je vous le ferai parvenir par mail.

Pour lancer l’installation (qui est immédiate) taper dans un terminal :
bash install_reduce_images.sh

Comme l’installation ajoute un alias dans le fichier /.bashrc il faut "sourcer" celui-ci avant une première utilisation. Dans un terminal taper :
source /.bashrc

Ensuite pour réduire les images par lot il suffit de taper la commande suivante dans un terminal :
reduce_images
où :
 > repertoire_initial est le chemin vers le répertoire où sont stockées les photos que l’on souhaite réduire ;
 > repertoire_final est le chemin vers le répertoire dans lequel on veut stocker les images réduites ;
 > largeur est la largeur en nombre de pixels pour les images réduites ;
 > hauteur est la hauteur en nombre de pixels pour les images réduites.

Exemple :
==========
Mes photos au format paysage sont dans le répertoire altitude_rando/paysage et je veux les réduire et les mettre dans le répertoire altitude_rando/reduit avec des photos au format 1250x937 alors je vais taper la commande suivante :

reduce_images altitude_rando/paysage altitude_rando/reduit 1250 937

Et voilà le tour est joué 🙂

Réponses

  • par Le 14 octobre 2018 à 16h46

    Je m’aperçois qu’il y a eu deux petits oublis :
    1) Vous pouvez déposer le script d’installation dans le répertoire de votre choix ;
    2) la syntaxe de la commande (qui n’apparaît pas dans mon précédent message) est :
    reduce_images repertoire_initial repertoire_final largeur hauteur

  • par Le 14 octobre 2018 à 16h59

    Un paramètre à ne pas oublier, c’est l’option de qualité de la compression jpeg !

    Perso, mes photos sont en général au format 1200x900 avec une qualité 80%. Cela me donne des images environ 200-300 KB, sans aucune dégradation raisonnablement visible par rapport à la qualité 100%, alors que la taille a été réduite d’un facteur 5 environ ! On peut encore baisser la qualité et gagner plus sur l’encombrement (utile pour les grosses images tel que les panoramas). On commence doucement à voir des artefacts, notamment à proximité des zones à fort contraste local, mais ça reste potable jusque vers 60% à mon goût.

  • par Le 14 octobre 2018 à 17h04

    En bref, à mon avis, en ce qui concerne le compromis qualité/encombrement, il y a plus à gagner en diminuant la qualité de compression jpeg que la résolution de l’image !

  • par Le 14 octobre 2018 à 17h23

    En fait j’ai écrit ce script non pas pour réduire des images qui seraient déjà de taille de l’ordre de 1200x900, mais pour réduire mes images lorsque je reviens de randonnée et ensuite les mettre sur le site. Lorsque j’ai commencé à mettre mes randonnées sur AR on nous demandait de réduire la taille des images et depuis j’ai continué à le faire.
    Quand je rentre de rando mes images sont de l’ordre de 4000x3000 pixels pour les dimensions et de l’ordre de 4 à 5M. Après réduction j’ai des photos de l’ordre de 1250x940 pixels avec un poids de 580K environ.

  • par Le 14 octobre 2018 à 17h27

    Enfin là où je voulais en venir c’est que je réduis mes images pour les mettre sur le site mais les images que je garde pour moi comme souvenirs de rando je ne les réduis pas. Je n’ai pas des problèmes de stockage au point de devoir réduire mes images.

  • par Le 14 octobre 2018 à 17h32

    Oui c’est vrai que je pourrais ajouter la qualité de compression mais avec la commande convert utilisée dans ce script j’imagine qu’elle est fixée par défaut à 100%.

Chargement en cours Chargement en cours...
Nouvelle réponse
Nous vous conseillons de vous connecter !

Nous posons cette question pour lutter contre le spam.

Pour créer des paragraphes, laissez simplement des lignes vides.

NB : la possibilité de répondre en privé est reservée aux personnes authentifiées.

En postant votre message, vous acceptez la charte d'utilisation du forum.
Veuillez patienter ...