Changer la résolution d'une image
Bonsoir,
Je suis à la recherche d'un moyen simple pour changer la résolution d'une image. Par exemple si celle-ci à une résolution de 300 ppp, je voudrais fabriquer des images de mêmes dimensions (et qui représentent la même chose!) mais avec une résolution moins élevée, par exemple 50 ppp, 72 ppp, etc.
Comment faire ?
Je suis à la recherche d'un moyen simple pour changer la résolution d'une image. Par exemple si celle-ci à une résolution de 300 ppp, je voudrais fabriquer des images de mêmes dimensions (et qui représentent la même chose!) mais avec une résolution moins élevée, par exemple 50 ppp, 72 ppp, etc.
Comment faire ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Il y a divers moyens. En ligne de commande, le programme 'convert' d'ImageMagick ('magick convert' sous Windows) peut faire cela. En Python, il y a des bibliothèques comme Pillow (que j'ai utilisée il y a... un moment). Ce petit extrait de la doc. d'ImageMagick peut aider :
Je crois que la commande : (par exemple) fait ce que tu souhaites.
En attendant de réussir à installer MagickMalik sur mon mac j'ai trouvé cette page.
J'aimerais bien faire une petite animation montrant que l'image est plus précise, détaillée, lorsque la résolution augmente. On peut faire un programme avec Python ?
- Choisir une image que l'on a le droit de modifier et de diffuser, y compris pour les versions modifiées (je prends ici pour l'exemple cette ravissante bestiole sous licence CC-0).
- Faire en sorte que si un pixel de l'image est affiché sur exactement un pixel de l'écran, l'image occupe une place raisonnable à l'écran. C'est très simple à faire avec Gimp ou équivalent (PhotoShop, etc.). Avec Gimp, ça se passe dans le menu Image -> Scale Image. Exporter en format .png ou .gif (File -> Export As dans Gimp). (Les formats supportés par la classe PhotoImage de Tk sont PGM, PPM, GIF et PNG. Si l'on veut en utiliser d'autres avec cette même classe, il faudra probablement installer Pillow ou équivalent.) Il peut être pratique d'indiquer une puissance de 2 comme résolution de l'image avant de sauver (« exporter » dans le jargon de Gimp). Pour les captures d'écran ci-dessous, j'ai rééchantillonné l'image en 1024×680 et décrété que sa résolution était alors 128×128 dpi (tout ceci dans le menu Image -> Scale Image). Donner à cette image le suffixe -0 pour s'y retrouver ; par exemple, image-0.png.
- Préparer quelques versions de la même image rééchantillonnée à des résolutions plus basses, soit avec un outil comme Gimp, soit comme expliqué dans mon précédent message. Par exemple, avec un shell Unix assez standard, on peut faire (testé avec Zsh) :
pour convertir image-0.png en image-1.png, image-2.png, ..., image-7.png en divisant la résolution par 2 à chaque étape. On peut diviser par d'autres facteurs que 2, mais à moins d'installer et utiliser Pillow ou équivalent, il faut diviser par des facteurs entiers, car c'est tout ce que supporte la méthode PhotoImage.zoom() de Tkinter.
Une fois qu'on a toutes ses images classées par ordre de résolution décroissante, par exemple, image-0.png, image-1.png, image-2.png, ..., image-7.png, on lance : Si le shell est pourri, écrire le nom de chaque image en séparant par des espaces : Et voilà, image-0.png est affichée. En appuyant sur une touche autre que 'q' ou en cliquant dans la fenêtre, le programme passe à l'image suivante. Si :- on appuie sur 'q' ou ;
- on clique ou appuie sur une touche quelconque alors qu'on a déjà vu toutes les images ;
le programme affiche un message exprimant sa tristesse et se termine. Je n'inclus pas la totalité des captures d'écran, il me semble que l'on comprend assez bien ainsi.