Module ImageOps de Pillow
ImageOps est un module utilitaire de la bibliothèque de traitement d'images Python Pillow qui fournit une série d'opérations de traitement d'images prédéfinies. Ces opérations sont souvent des wrappers et des simplifications des fonctionnalités du module PIL.Image, permettant aux développeurs de mettre en œuvre des exigences courantes de traitement d'images avec un code plus concis.
Principales caractéristiques du module ImageOps
- Opérations simplifiées: Encapsule des flux de traitement d'image complexes en un seul appel de fonction
- Traitement standardisé: Fournit des méthodes standardisées de traitement d'image
- Fonctions pratiques: Inclut une variété de fonctions pratiques de traitement d'image
- Complémentaire de PIL.Image: Complète les fonctionnalités du module PIL.Image
Méthodes courantes du module ImageOps
Voici les méthodes les plus couramment utilisées dans le module ImageOps et leurs descriptions fonctionnelles :
Méthodes d'ajustement d'image
| Nom de la méthode | Parameters | Valeur de retour | Description |
|---|---|---|---|
autocontrast(image, cutoff=0, ignore=None) |
image : image d'entrée cutoff : pourcentage de recadrage (0-100) ignore : couleur d'arrière-plan à ignorer |
Nouvel objet image | Ajuster automatiquement le contraste de l'image afin que les pixels les plus sombres de l'image deviennent noirs et que les pixels les plus clairs deviennent blancs. |
colorize(image, black, white) |
image : image en niveaux de gris black : couleur de remplacement pour le noir white : couleur de remplacement pour le blanc |
Nouvel objet image | Coloriser une image en niveaux de gris en spécifiant les couleurs auxquelles le noir et le blanc doivent être associés, respectivement. |
equalize(image, mask=None) |
image : image d'entrée mask : masque facultatif |
Nouvel objet image | Effectuer une égalisation d'histogramme sur l'image pour améliorer le contraste. |
mirror(image) |
image : image d'entrée | Nouvel objet image | Retourner horizontalement l'image (effet miroir) |
Méthodes de transformation d'image
| Nom de la méthode | Parameters | Valeur de retour | Description |
|---|---|---|---|
expand(image, border, fill=0) |
image : image d'entrée border : largeur de bordure fill : couleur de remplissage |
Nouvel objet image | Ajouter une bordure à l'image |
fit(image, size, method=0, bleed=0.0, centering=(0.5, 0.5)) |
image : image d'entrée size: taille cible method: méthode de redimensionnement bleed: proportion de rognage centering: point central |
Nouvel objet image | Redimensionner l'image à une taille spécifiée tout en conservant le rapport d'aspect. |
flip(image) |
image : image d'entrée | Nouvel objet image | Retourner verticalement l'image |
scale(image, factor, resample=3) |
image : image d'entrée factor: facteur d'échelle resample: méthode de rééchantillonnage |
Nouvel objet image | Mettre l'image à l'échelle proportionnellement |
Méthodes d'effets d'image
| Nom de la méthode | Parameters | Valeur de retour | Description |
|---|---|---|---|
posterize(image, bits) |
image : image d'entrée bits: nombre de bits à conserver (1-8) |
Nouvel objet image | Réduire le nombre de bits par canal de couleur dans l'image pour produire un effet de postérisation. |
solarize(image, threshold=128) |
image : image d'entrée threshold: seuil (0-255) |
Nouvel objet image | Inverser toutes les valeurs de pixel supérieures au seuil pour produire un effet de solarisation. |
invert(image) |
image : image d'entrée | Nouvel objet image | Inverser les couleurs de l'image (effet négatif) |
Exemples d'utilisation
Exemple d'utilisation de base
Exemple
# Ouvrir le fichier image
image = Image.open("example.jpg")
# Ajuster automatiquement le contraste
adjusted_image = ImageOps.autocontrast(image)
# Enregistrer l'image traitée
adjusted_image.save("adjusted_example.jpg")
Exemples plus pratiques
Exemple
# Créer un négatif de l'image
image = Image.open("photo.jpg")
inverted_image = ImageOps.invert(image)
inverted_image.save("inverted_photo.jpg")
# Ajouter une bordure à l'image
bordered_image = ImageOps.expand(image, border=50, fill="white")
bordered_image.save("bordered_photo.jpg")
# Colorisation d'image (convertir d'abord l'image en niveaux de gris)
gray_image = ImageOps.grayscale(image)
colored_image = ImageOps.colorize(gray_image, black="blue", white="yellow")
colored_image.save("colored_photo.jpg")
Notes
- Mode d'image: Certaines méthodes d'ImageOps ont des exigences spécifiques concernant le mode d'image, telles que
colorize()nécessitant une image en niveaux de gris - Considérations de performance: Lors du traitement de grandes images, certaines opérations peuvent consommer beaucoup de mémoire
- Plages de paramètres: Faites attention aux plages valides des paramètres, par exemple
posterize()le paramètre bits doit être compris entre 1 et 8 - Protection de l'original: les méthodes ImageOps renvoient généralement un nouvel objet image, et l'image d'origine n'est pas modifiée
Résumé
Le module ImageOps est une boîte à outils très pratique dans la bibliothèque Pillow, simplifiant de nombreuses tâches courantes de traitement d'image. En maîtrisant ces méthodes, les développeurs peuvent rapidement mettre en œuvre divers effets de traitement d'image sans écrire de code complexe. Pour les scénarios nécessitant un traitement d'image plus avancé, d'autres fonctionnalités du module PIL.Image peuvent être utilisées en combinaison.
Autres extensions