Skip to content

Inverser une image avec Python, Pillow (inversion négative-positive)

Dans le module ImageOps de la bibliothèque de traitement d’image Python Pillow (PIL), invert() pour l’inversion négative-positive (inversion des valeurs de pixel) d’une image est fournie.

Le module ImageChops a la même fonction.

Consultez l’article suivant pour l’installation et l’utilisation de base de Pillow (PIL).

Voir l’article suivant pour l’inversion négative-positive lors de la lecture d’une image en tant que tableau NumPy ndarray avec OpenCV, etc.

Exemple de code

Chargez simplement l’image et appelez invert().

from PIL import Image, ImageOps

im = Image.open('data/src/lena.jpg')
im_invert = ImageOps.invert(im)
im_invert.save('data/dst/lena_invert.jpg', quality=95)

avec
oreiller inverser lena

Si le png transparent est lu par open(), le mode est RGBA et il n’est pas traité correctement, donc convertissez-le en RGB par convert().

la plupart des opérateurs ne fonctionnent que sur les images L et RVB.
Module ImageOps — Oreiller (fourchette PIL) 4.4.0.dev0 documentation

im = Image.open('data/src/horse.png').convert('RGB')
im_invert = ImageOps.invert(im)
im_invert.save('data/dst/horse_invert.png')

cheval
oreiller cheval inversé