Pubblicato il

python

pillow

immagini


come modificare immagini con python e pillow

Ciao a tutti e benvenuti in questa guida Python dove andremo a vedere come modificare e manipolare immagini usando la libreria per Python Pillow. Con questa libreria possiamo eseguire varie manipolazioni come: 

  • Ridimensionare immagini
  • Cambiare / convertire formato (estensione)
  • Tagliare Immagini
  • Sfocare immagini
  • Altro

La libreria Pillow ci può tornare molto utile quando abbiamo bisogno di processare molteplici immagini allo stesso tempo. Un altro utilizzo molto comune è quello di automatizzazione di un processo di editing di un’immagine. Per esempio se avete un server dove un utente può caricare un’immagine, potete fare uso di uno script Python per automaticamente creare copie dell’immagine in varie dimensioni.

Come modificare immagini con Python: Installare Pillow

Installare Pillow è molto semplice utilizzano pip

Potete installare Pillow usando il comando:

pip install Pillow


Per verificare se Pillow sia stato correttamente installato potete aprire una nuova console interattiva Python, eseguendo il comando python nel Terminale. Una volta nella console interattiva di Python potete inviare il seguente comando:

from PIL import Image

Se questo comando esegue senza errori, avete installato Pillow correttamente e siete pronti per passare alla manipolazione delle Immagini con Python.

Come aprire un’immagine con Python

Come prima cosa andremo a vedere come aprire un’immagine usando Python.

Avendo un file app.py ed un’immagine img.png nella stessa directory, possiamo eseguire il seguente script per aprire e mostrare un’immagine con Python:

from PIL import Image
img1 = Image.open("img.jpg")
img1.show()


Se eseguiamo il file app.py, possiamo vedere in una nuova finestra l’immagine che abbiamo selezionato.

Come convertire un’immagine con Python

Vediamo ora come convertire e salvare un’immagine con Python. In questo esempio andremo a convertire un’immagine da jpg a png con il seguente script:

from PIL import Image
img1 = Image.open("im2.jpg")
img1.save("conv.png")

Utilizzando la funzione save() e specificando il nome con estensione png, Pillow automaticamente converte la nostra immagine da jpg a png.

Come ridimensionare un’immagine con Python

Ora vediamo come ridimensionare un’immagine usando Python e Pillow. Cambiare dimensioni ad un’immagine può essere molto utile quando si vuole creare una thumbnail.

Per ridimensionare un’immagine possiamo eseguire il seguente codice Python:

from PIL import Image
dim = (200,200)
img1 = Image.open("im2.jpg")
img1.thumbnail(dim)
img1.save("im2.png")


Come vedete abbiamo fatto uso del metodo thumbnail() dove passiamo una dimensione sotto forma di una Tupla.

Se eseguite questo script verrà aperta un’immagine jpg. Questa verrà ridimensionata e salvata in formato .png

Se volete creare più di una copia con dimensioni diverse potete chiamare le funzioni thumbnail e save molteplici volte, passando le diverse dimensioni.

Manipolazioni immagini con Python: Come ruotare un'immagine

Se vogliamo ruotare un’immagine, il processo è altrettanto semplice. Ecco uno script per ruotare un’immagine di 90 gradi:

from PIL import Image
img1 = Image.open("im2.jpg")
img1.rotate(90).save("im2_rotata.jpg")


Come vedete facciamo uso della funzione rotate(), che accetta come parametro i gradi di rotazione dell’immagine.

Come trasformare immagine in bianco e nero con Python

Vediamo ora uno script per trasformare un’immagine da RGB a bianco e nero. 

Ecco uno script Python che tramite una manipolazione dei pixel, converte un’immagine in bianco e nero:

from PIL import Image
img1 = Image.open("im2.jpg")
img1.convert(mode="L").save("im2_b&n.jpg")


Come vedete abbiamo fatto uso della funzione convert() che accetta come parametro una modalità di trasformazione (in questo caso L sta per bianco e nero). Per vedere le altre modalità di trasformazione potete consultare la documentazione di Pillow qui

Vediamo ora un esempio un po’ più compilato.

Come sfocare un’immagine con Python

Ora vediamo come sfocare un’immagine con Python. Questo potrebbe tornare utile se vogliamo censurare un’immagine.

Ecco il codice Python per ottenere un effetto sfocato su un’immagine con Python:

from PIL import Image, ImageFilter
img1 = Image.open("im2.jpg")
img1.filter(ImageFilter.GaussianBlur(10)).save("im2_blur.jpg")


Ci sono tantissime altre manipolazioni che si possono fare con Python e Pillow. Per scoprire di più su questo modulo e le sue funzioni potete consultare la documentazione di Pillow.

Ci siamo! Ora sapete come fare delle manipolazioni su immagini con Python.

Se hai una domanda puoi chiedere qualsiasi cosa nei commenti in basso

Grazie per aver letto questa guida su Devnews.it

Spero ti sia stata utile in qualche modo. Ti prego di supportare questa pagina mettendo mi piace alle nostre pagine social cliccando un basso, dove pubblichiamo regolermente notizie, tutorial e fatti curiosi sull'informatica. Grazie e ci vediamo alla prossima :)