Python

Maîtriser la manipulation d’images avec Python et Pillow

Manipuler des images en Python peut être réalisé efficacement grâce à diverses bibliothèques, mais l’une des plus populaires et des plus puissantes est certainement Pillow, qui fournit un large éventail de fonctionnalités pour ouvrir, modifier et sauvegarder des images. Dans ce guide, je vais vous montrer comment manipuler des images en utilisant Pillow, ainsi que quelques opérations courantes telles que le redimensionnement, la conversion de formats et l’application de filtres.

Prérequis

  • Python installé sur votre système. Vous pouvez le télécharger depuis python.org.
  • Installation de la bibliothèque Pillow. Vous pouvez l’installer via pip en exécutant pip install pillow.
1. Ouvrir une image
from PIL import Image

# Ouvrir une image
image = Image.open("chemin_vers_votre_image.jpg")
2. Afficher une image
image.show()
3. Obtenir les dimensions d’une image
largeur, hauteur = image.size
print("Largeur:", largeur)
print("Hauteur:", hauteur)
4. Redimensionner une image
# Redimensionner en conservant le rapport hauteur/largeur
nouvelle_image = image.resize((nouvelle_largeur, nouvelle_hauteur))

# Redimensionner en forçant une taille spécifique
nouvelle_image = image.resize((nouvelle_largeur, nouvelle_hauteur), Image.ANTIALIAS)
5. Enregistrer une image dans un nouveau format
nouveau_nom = "nouvelle_image.png"
nouvelle_image.save(nouveau_nom)
6. Convertir le format d’une image
image.convert("L")  # Convertir en niveaux de gris
7. Appliquer un filtre
from PIL import ImageFilter

image_filtree = image.filter(ImageFilter.BLUR)
8. Appliquer des transformations
from PIL import ImageEnhance

# Augmenter la netteté de l'image
enhancer = ImageEnhance.Sharpness(image)
image_net = enhancer.enhance(2.0)
9. Ajouter du texte à une image
from PIL import ImageDraw, ImageFont

draw = ImageDraw.Draw(image)
font = ImageFont.truetype("arial.ttf", 36)
draw.text((x, y), "Votre texte", fill=(255, 255, 255), font=font)
10. Superposer des images
image_fond.paste(image_superposee, (x, y), image_superposee)

Guide complet de manipulation d’images en Python avec Pillow

Bien sûr ! Voici comment les cas pratiques pourraient être réécrits avec des exemples de code :

1. Créer des miniatures
from PIL import Image

# Ouvrir une image
image = Image.open("image.jpg")

# Redimensionner pour créer une miniature
thumbnail_size = (100, 100)
thumbnail_image = image.copy()
thumbnail_image.thumbnail(thumbnail_size)

# Enregistrer la miniature
thumbnail_image.save("miniature.jpg")
2. Appliquer des filtres pour l’édition d’images
from PIL import ImageFilter

# Appliquer un filtre de flou
blurred_image = image.filter(ImageFilter.BLUR)
blurred_image.save("image_floue.jpg")
3. Créer un programme de traitement par lot
import os

input_folder = "input_images"
output_folder = "output_images"

# Parcourir les fichiers d'entrée
for filename in os.listdir(input_folder):
    # Ouvrir chaque image
    image = Image.open(os.path.join(input_folder, filename))

    # Appliquer des transformations
    # ...

    # Enregistrer les images transformées dans un dossier de sortie
    output_filename = os.path.join(output_folder, filename)
    image.save(output_filename)
4. Reconnaissance et modification de contenu
# Utiliser d'autres bibliothèques comme OpenCV ou TensorFlow pour la reconnaissance d'objets, la segmentation, etc.
# Ensuite, utiliser Pillow pour modifier les images en fonction des résultats de l'analyse.
5. Créer des mèmes automatiquement
from PIL import ImageDraw, ImageFont

# Ouvrir une image de base
base_image = Image.open("base_image.jpg")

# Ajouter du texte
draw = ImageDraw.Draw(base_image)
font = ImageFont.truetype("arial.ttf", 20)
draw.text((10, 10), "Texte du mème", fill=(255, 255, 255), font=font)

# Enregistrer l'image avec le texte ajouté
base_image.save("meme.jpg")
6. Analyse de données visuelles
# Utiliser Pillow pour extraire des données visuelles comme la palette de couleurs, les histogrammes, etc.
# par exemple :
colors = image.getcolors(maxcolors=256)
print(colors)
7. Création de diaporamas
# Utiliser d'autres bibliothèques pour créer les transitions et assembler les images en un diaporama.
# Ensuite, utiliser Pillow pour enregistrer le diaporama final.
8. Correction automatique de photos
# Utiliser Pillow pour corriger automatiquement des problèmes courants dans les photos.
# Par exemple, pour corriger les yeux rouges :
from PIL import ImageEnhance

enhancer = ImageEnhance.Color(image)
corrected_image = enhancer.enhance(1.5)
corrected_image.save("image_corrigee.jpg")

Ces exemples illustrent comment chaque cas pratique peut être réalisé en utilisant la bibliothèque Pillow en combinaison avec d’autres bibliothèques ou techniques de traitement d’images en Python.

Conclusion

Ce guide couvre les bases de la manipulation d’images en Python en utilisant la bibliothèque Pillow. Avec ces connaissances, vous pouvez créer des scripts pour effectuer une grande variété de tâches liées aux images, telles que le traitement d’images, la création de miniatures, l’édition d’images, etc. Explorez davantage la documentation de Pillow pour découvrir d’autres fonctionnalités avancées et approfondies.

Autres articles

Maîtriser l'utilisation de la méthode join en...
La méthode join en Python est un outil puissant pour...
Read more
Comment Gérer Efficacement le Budget Mariage avec...
Télécharger un modèle Excel automatisé de budget mariage automatisé avec...
Read more
Manipulation des Tableaux en Python avec Numpy
Numpy est une bibliothèque puissante et efficace pour la manipulation...
Read more

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *