Exploration des bibliothèques Python pour la manipulation d'images numériques
La manipulation d'images est une tâche courante dans le développement d'applications Python. Plusieurs bibliothèques facilitent cette tâche, permettant aux développeurs de traiter, modifier et analyser des images. Ce cours présente les bibliothèques les plus populaires pour la manipulation d'images en Python.
Pillow est une bibliothèque Python largement utilisée pour le traitement d'images. Elle est un fork de la bibliothèque Python Imaging Library (PIL) et permet de réaliser des opérations comme :
OpenCV (Open Source Computer Vision Library) est une bibliothèque puissante utilisée pour la vision par ordinateur et le traitement d'images. Ses fonctionnalités incluent :
scikit-image est une bibliothèque conçue pour l'analyse d'images et le traitement d'images dans l'écosystème SciPy. Elle offre :
Python offre une multitude de bibliothèques pour la manipulation d'images, chacune ayant ses propres forces et domaines d'application. Que ce soit pour des tâches simples avec Pillow ou des analyses avancées avec OpenCV et scikit-image, les développeurs disposent d'outils puissants pour répondre à leurs besoins en traitement d'images.
Pillow est une bibliothèque Python puissante pour la manipulation d'images. Elle permet d'ouvrir, de modifier et de sauvegarder des images facilement. Dans ce cours, nous allons explorer comment utiliser Pillow pour manipuler les pixels d'une image.
Pour commencer à utiliser Pillow, vous devez d'abord l'installer. Vous pouvez le faire via pip :
pip install Pillow
Voici comment ouvrir et afficher une image :
from PIL import Image # Ouvrir une image image = Image.open('chemin/vers/image.jpg') # Afficher l'image image.show()
Pour manipuler les pixels d'une image, vous devez accéder à l'objet PixelAccess
. Voici un exemple :
pixels = image.load() # Modifier un pixel spécifique pixels[10, 10] = (255, 0, 0) # Rouge
Vous pouvez utiliser une boucle pour modifier plusieurs pixels. Voici comment créer une bordure rouge :
for x in range(image.width): pixels[x, 0] = (255, 0, 0) # Haut pixels[x, image.height - 1] = (255, 0, 0) # Bas for y in range(image.height): pixels[0, y] = (255, 0, 0) # Gauche pixels[image.width - 1, y] = (255, 0, 0) # Droite
Vous pouvez aussi transformer les couleurs globales de l'image. Voici un exemple de conversion en niveaux de gris :
gray_image = image.convert('L') # Convertit en niveaux de gris gray_image.show()
Vous pouvez également appliquer des filtres comme ImageEnhance
pour ajuster les couleurs, le contraste, etc. :
from PIL import ImageEnhance enhancer = ImageEnhance.Color(image) image_coloree = enhancer.enhance(2.0) # Double l'intensité des couleurs image_coloree.show()
Pillow permet aussi d'appliquer des transformations comme des rotations, redimensionnements ou des effets comme miroir et transposition :
# Rotation rotated = image.rotate(45) # Rotation de 45° rotated.show() # Effet miroir horizontal mirror = image.transpose(Image.FLIP_LEFT_RIGHT) mirror.show()
Après vos modifications, vous pouvez sauvegarder l'image :
image.save('chemin/vers/image_modifiee.jpg')
Pillow fournit des outils puissants pour manipuler des images en Python. Vous avez appris à ouvrir une image, modifier des pixels, ajuster les couleurs, appliquer des distorsions, et sauvegarder le résultat. À vous de créer !
Ouvrez une image et affichez-la à l'aide de Pillow. Écrivez le code nécessaire pour cela.
from PIL import Image # Ouvrir une image image = Image.open('chemin/vers/image.jpg') # Afficher l'image image.show()
Modifiez un pixel de l'image pour le rendre rouge. Spécifiez les coordonnées du pixel à modifier.
# Accéder aux pixels pixels = image.load() # Modifier un pixel spécifique pixels[50, 50] = (255, 0, 0) # Mettre le pixel (50, 50) en rouge
Créez une bordure rouge autour de l'image. Utilisez des boucles pour modifier les pixels aux bords.
for x in range(image.width): pixels[x, 0] = (255, 0, 0) # Bordure supérieure pixels[x, image.height - 1] = (255, 0, 0) # Bordure inférieure for y in range(image.height): pixels[0, y] = (255, 0, 0) # Bordure gauche pixels[image.width - 1, y] = (255, 0, 0) # Bordure droite
Enregistrez l'image modifiée sous un nouveau nom de fichier. Quelle méthode utilisez-vous pour cela ?
# Sauvegarder l'image modifiée image.save('chemin/vers/image_modifiee.jpg')
Écrivez un code pour créer un effet de négatif sur l'image. Comment modifiez-vous chaque pixel ?
for x in range(image.width): for y in range(image.height): r, g, b = pixels[x, y] pixels[x, y] = (255 - r, 255 - g, 255 - b) # Inverser les couleurs
Explorez comment l'art et la philosophie s'entrelacent pour questionner notre perception de la réalité et de l'esthétique.
Read more.Plongez dans les débats philosophiques sur la liberté, ses implications éthiques et les défis contemporains qui l'entourent.
Read more.Découvrez les différentes approches philosophiques de la vérité et comment elles influencent notre compréhension du monde.
Read more.Abonnez-vous maintenant et recevez notre newsletter hebdomadaire avec des matériaux éducatifs, de nouveaux cours, des articles intéressants, des livres populaires et bien plus encore !