Skip to content

Invertire un’immagine con Python, Pillow (inversione negativo-positivo)

Python

Nel modulo ImageOps della libreria di elaborazione delle immagini Python Pillow (PIL), viene fornito invert() per l’inversione negativa-positiva (invertendo i valori dei pixel) di un’immagine.

Il modulo ImageChops ha la stessa funzione.

Vedere il seguente articolo per l’installazione e l’utilizzo di base di Pillow (PIL).

Vedere il seguente articolo per l’inversione negativa-positiva durante la lettura di un’immagine come array NumPy ndarray con OpenCV, ecc.

Codice di esempio

Basta caricare l’immagine e chiamare 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)

lena
cuscino invertito lena

Se il png trasparente viene letto da open(), la modalità è RGBA e non viene elaborata correttamente, quindi converti in RGB da convert().

la maggior parte degli operatori funziona solo su immagini L e RGB.
Modulo ImageOps — Documentazione Pillow (PIL Fork) 4.4.0.dev0

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

cavallo
cuscino cavallo rovesciato