Outils pour utilisateurs

Outils du site


prog:python-image

Ceci est une ancienne révision du document !


Traitement des images en Python

Permet des traiter une (grande) partie du chapitre Photographie numérique de SNT.

Un grand nombre de fonctions sont disponibles dans la bibliothèque PIL (Python Imaging Library) disponible dans le paquetage Pillow, dont voici un manuel.

Après avoir installé Pillow (si nécessaire) :

 pip install pillow 

On dispose de la bibliothèque PIL proposant plusieurs modules dont Image qui met à disposition une classe d'objets du même nom.
De très nombreux formats de fichiers d'images sont utilisables, et reconnus par leur extension.

from PIL import Image
 
# Ouverture d'un fichier et affectation à un objet
mon_image = Image.open("lena.jpg")

On peut obtenir des caractéristiques de cet objet :

print("Format : ", mon_image.format) # Format de fichier
largeur, hauteur = mon_image.size # Tuple l, h en pixels
print("Taille : ", largeur, "x", hauteur)
print("Mode : ", mon_image.mode) # L (luminance), RGB, CMYK...
mon_image.show() # affichage de l'image via le programme par défaut du système

Pour les méta-données exif, et en particulier GPS, voir mon_image._getexif() en particulier.
Exemples ici et .

Pour accéder à un pixel :

pixou = (10,10)
couleurs = mon_image.getpixel(pixou) # Retourne un tuple composant les 3 composantes r, g, b
print(couleurs)

Pour créer une nouvelle image :

new_image = Image.new("L", mon_image.size) # L : mode niveaux de gris

Écrire un pixel dans l'image :

for i in range(largeur):
    for j in range (hauteur):
        r, g, b = mon_image.getpixel((i,j))
        moy = int((r + g + b)/3)
        new_image.putpixel((i,j), moy)

Enregistrer l'image dans un fichier :

new_image.save("image_modif.png") # L'extension détermine le format de fichier
prog/python-image.1575484536.txt.gz · Dernière modification : 2019/12/04 18:35 de jbpuel