Outils pour utilisateurs

Outils du site


prog:python-image

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
prog:python-image [2019/12/04 18:35] jbpuelprog:python-image [2020/04/06 09:02] (Version actuelle) – supprimée jbpuel
Ligne 1: Ligne 1:
-====== Traitement des images en Python ====== 
  
-{{ :prog:lena.jpg?direct&300|}} 
- 
-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 [[https://pillow.readthedocs.io/en/5.1.x/handbook/index.html|manuel]]. 
- 
-Après avoir installé Pillow (si nécessaire) : 
-<code> pip install pillow </code> 
- 
-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. 
- 
-<code python> 
-from PIL import Image 
- 
-# Ouverture d'un fichier et affectation à un objet 
-mon_image = Image.open("lena.jpg") 
-</code> 
- 
-On peut obtenir des caractéristiques de cet objet : 
- 
-<code python> 
-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 
-</code> 
- 
-Pour les méta-données exif, et en particulier GPS, voir mon_image._getexif() en particulier.\\ 
-Exemples [[https://www.sylvaindurand.fr/gps-data-from-photos-with-python/|ici]] et [[https://stackoverflow.com/questions/4764932/in-python-how-do-i-read-the-exif-data-for-an-image| là]]. 
- 
-Pour accéder à un pixel : 
- 
-<code python> 
-pixou = (10,10) 
-couleurs = mon_image.getpixel(pixou) # Retourne un tuple composant les 3 composantes r, g, b 
-print(couleurs) 
-</code> 
- 
-Pour créer une nouvelle image : 
- 
-<code python> 
-new_image = Image.new("L", mon_image.size) # L : mode niveaux de gris 
-</code> 
- 
-Écrire un pixel dans l'image : 
- 
-<code python> 
-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) 
-</code> 
- 
-Enregistrer l'image dans un fichier : 
- 
-<code python> 
-new_image.save("image_modif.png") # L'extension détermine le format de fichier 
-</code> 
prog/python-image.1575484536.txt.gz · Dernière modification : 2019/12/04 18:35 de jbpuel