Vous suivrez ce tutoriel en effectuant les manipulations sur Thonny.
Pour utiliser la bibliothèque PIL il faudra l’installer sur Thonny en allant dans le menu « outils » puis « gérer les plugins » et taper « pil ». Cherchez ensuite la bibliothèque PIL-Tools et l’installer.
Faites la même manipulation en allant dans le menu « outils » puis « gérer les paquets ».
Dans ce tutoriel, vous apprendrez à manipuler des images en Python avec la bibliothèque Pillow. Nous aborderons des concepts tels que l’ouverture, la modification, et la création d’images.
1. Ouvrir une image
Téléchargez une image pour l’enregistrer dans le même dossier que le fichier Python que vous allez créer.
Vous pouvez ouvrir une image en utilisant la fonction Image.open()
et l’afficher avec :
from PIL import Image
# Ouvrir une image
image = Image.open('chemin_vers_image.jpg')
image.show()
2. Afficher les propriétés de l’image
Pour afficher les informations de base sur l’image, telles que la taille, le mode et le format :
# Afficher les propriétés de l'image
print("Taille de l'image:", image.size)
print("Mode de couleur:", image.mode)
print("Format de l'image:", image.format)
3. Redimensionner une image
Vous pouvez redimensionner une image en utilisant la méthode resize()
:
# Redimensionner l'image
nouvelle_image = image.resize((300, 300))
nouvelle_image.show()
4. Rogner une image
Pour découper une partie spécifique de l’image, utilisez crop()
:
# Définir une zone de rognage
zone = (100, 100, 300, 300)
image_coupee = image.crop(zone)
image_coupee.show()
5. Appliquer un filtre
Pillow permet d’appliquer des filtres comme le flou :
from PIL import ImageFilter
# Appliquer un filtre flou
image_floue = image.filter(ImageFilter.BLUR)
image_floue.show()
6. Sauvegarder une image
Une fois modifiée, vous pouvez sauvegarder l’image avec save()
:
# Sauvegarder l'image floue
image_floue.save('image_floue.jpg')
7. Modifier les pixels d’une image
Vous pouvez accéder aux pixels individuels et les modifier :
# Convertir l'image en niveaux de gris
image_gris = image.convert('L')
# Modifier chaque pixel en noir ou blanc
largeur, hauteur = image_gris.size
for x in range(largeur):
for y in range(hauteur):
pixel = image_gris.getpixel((x, y))
if pixel > 128:
image_gris.putpixel((x, y), 255) # Blanc
else:
image_gris.putpixel((x, y), 0) # Noir
image_gris.show()
8. Rotation et retournement
Pillow vous permet également de faire pivoter ou de retourner l’image :
# Rotation de l'image
image_rot = image.rotate(90)
image_rot.show()
# Retourner l'image horizontalement
image_ret = image.transpose(Image.FLIP_LEFT_RIGHT)
image_ret.show()
9. Créer une nouvelle image
Enfin, vous pouvez créer une nouvelle image à partir de zéro :
# Créer une nouvelle image rouge
nouvelle_image = Image.new('RGB', (100, 100), 'red')
nouvelle_image.show()