Python Pillow - Aggiunta di filtri a un'immagine

Il ImageFilter module contiene le definizioni per un set predefinito di filtri, che abbiamo utilizzato con Image.filter()metodo. Questi filtri vengono utilizzati per modificare l'aspetto e la sensazione dell'immagine.

Esempio

L'esempio seguente è Filtro di un'immagine -

from PIL import Image, ImageFilter

im = Image.open('jungleSaf2.jpg')

im1 = im.filter(ImageFilter.BLUR)
im1.show()

im2 = im.filter(ImageFilter.MinFilter(3))
im2.show()

im3 = im.filter(ImageFilter.MinFilter) # same as MinFilter(3)
im3.show()

Nel programma sopra, abbiamo usato il MinFilter()metodo, che viene utilizzato per creare un filtro minimo. Sceglie il valore di pixel più basso in una finestra con la dimensione data.

ImageFilter.MinFilter(size=3)

Dove,

size - La dimensione del kernel, in pixel.

Produzione

Se si salva il programma sopra e lo si esegue, mostra l'immagine originale, l'immagine sfocata e l'immagine sfocata con MinFilter utilizzando l'utilità di visualizzazione PNG standard, come segue:

Original Image

Blurred Image

Image blurred with mini filter

Filtri

La versione corrente della libreria dei cuscini fornisce una serie di filtri predefiniti per il miglioramento delle immagini.

  • BLUR

  • CONTOUR

  • DETAIL

  • EDGE_ENHANCE

  • EDGE_ENHANCE_MORE

  • EMBOSS

  • FIND_EDGES

  • SHARPEN

  • SMOOTH

  • SMOOTH_MORE

Esempio

L'esempio seguente di Python applica il filtro di sfocatura su un'immagine, la salva e la visualizza utilizzando l'utilità di visualizzazione PNG standard -

#Import required image modules
from PIL import Image, ImageFilter

#Import all the enhancement filter from pillow

from PIL.ImageFilter import (
   BLUR, CONTOUR, DETAIL, EDGE_ENHANCE, EDGE_ENHANCE_MORE,
   EMBOSS, FIND_EDGES, SMOOTH, SMOOTH_MORE, SHARPEN
)

#Create image object
img = Image.open('images/cat.jpg')
#Applying the blur filter
img1 = img.filter(BLUR)
img1.save('images/ImageFilter_blur.jpg')
img1.show()

Produzione

Allo stesso modo, al image.filter() puoi passare uno qualsiasi dei seguenti parametri per ottenere i rispettivi output:

  • CONTOUR

  • DETAIL

  • EDGE_ENHANCE

  • EDGE_ENHANCE_MORE

  • EMBOSS

  • FIND_EDGES

  • SMOOTH

  • SMOOTH_MORE

  • SHARPEN

Metodo Python img.filter (CONTOUR)

Il seguente esempio di Python applica il filtro CONTOUR all'immagine data.

Esempio

#Import required image modules
from PIL import Image, ImageFilter

#Import all the enhancement filter from pillow
from PIL.ImageFilter import (
   BLUR, CONTOUR, DETAIL, EDGE_ENHANCE, EDGE_ENHANCE_MORE,
   EMBOSS, FIND_EDGES, SMOOTH, SMOOTH_MORE, SHARPEN
)
#Create image object
img = Image.open('images/cat.jpg')
#Applying the blur filter
img1 = img.filter(CONTOUR)
img1.save('images/ImageFilter_blur.jpg')
img1.show()

Produzione

Se si salva il programma sopra e lo si esegue, mostra l'immagine originale e l'immagine filtrata utilizzando l'utilità di visualizzazione PNG standard, come segue:

Original image

Filtered image

Metodo Python img.filter (DETAIL)

Il seguente esempio di Python applica il filtro DETTAGLI all'immagine data.

Esempio

#Import required image modules
from PIL import Image, ImageFilter

#Import all the enhancement filter from pillow
from PIL.ImageFilter import (
   BLUR, CONTOUR, DETAIL, EDGE_ENHANCE, EDGE_ENHANCE_MORE,
   EMBOSS, FIND_EDGES, SMOOTH, SMOOTH_MORE, SHARPEN
)
#Create image object
img = Image.open('images/cat.jpg')
#Applying the blur filter
img1 = img.filter(DETAIL)
img1.save('images/ImageFilter_blur.jpg')
img1.show()

Produzione

Se salvi il programma sopra e lo esegui, mostra l'immagine originale e l'immagine filtrata utilizzando l'utilità di visualizzazione PNG standard, come segue:

Original image

Filtered image

Metodo Python img.filter (EDGE_ENHANCE)

Il seguente esempio di Python applica il filtro EDGE_ENHANCE all'immagine data -

Esempio

#Import required image modules
from PIL import Image, ImageFilter

#Import all the enhancement filter from pillow
from PIL.ImageFilter import (
   BLUR, CONTOUR, DETAIL, EDGE_ENHANCE, EDGE_ENHANCE_MORE,
   EMBOSS, FIND_EDGES, SMOOTH, SMOOTH_MORE, SHARPEN
)
#Create image object
img = Image.open('images/cat.jpg')
#Applying the blur filter
img1 = img.filter(EDGE_ENHANCE)
img1.save('images/ImageFilter_blur.jpg')
img1.show()

Produzione

Se salvi il programma sopra e lo esegui, mostra l'immagine originale e l'immagine filtrata utilizzando l'utilità di visualizzazione PNG standard, come segue:

Original image

Filtered image

Metodo Python img.filter (EDGE_ENHANCE_MORE)

Il seguente esempio di Python applica il filtro EDGE_ENHANCE_MORE all'immagine data.

Esempio

#Import required image modules
from PIL import Image, ImageFilter

#Import all the enhancement filter from pillow
from PIL.ImageFilter import (
   BLUR, CONTOUR, DETAIL, EDGE_ENHANCE, EDGE_ENHANCE_MORE,
   EMBOSS, FIND_EDGES, SMOOTH, SMOOTH_MORE, SHARPEN
)
#Create image object
img = Image.open('images/cat.jpg')
#Applying the blur filter
img1 = img.filter(EDGE_ENHANCE_MORE)
img1.save('images/ImageFilter_blur.jpg')
img1.show()

Produzione

Se salvi il programma sopra e lo esegui, mostra l'immagine originale e l'immagine filtrata utilizzando l'utilità di visualizzazione PNG standard, come segue:

Original image

Filtered image

Metodo Python img.filter (EMBOSS)

Il seguente esempio di Python applica il filtro EMBOSS all'immagine data.

Esempio

#Import required image modules
from PIL import Image, ImageFilter

#Import all the enhancement filter from pillow
from PIL.ImageFilter import (
   BLUR, CONTOUR, DETAIL, EDGE_ENHANCE, EDGE_ENHANCE_MORE,
   EMBOSS, FIND_EDGES, SMOOTH, SMOOTH_MORE, SHARPEN
)
#Create image object
img = Image.open('images/cat.jpg')
#Applying the blur filter
img1 = img.filter(EMBOSS)
img1.save('images/ImageFilter_blur.jpg')
img1.show()

Produzione

Se si salva il programma sopra e lo si esegue, mostra l'immagine originale e l'immagine filtrata utilizzando l'utilità di visualizzazione PNG standard, come segue:

Original image

Filtered image

Metodo Python img.filter (FIND_EDGES)

Il seguente esempio di Python applica il filtro FIND_EDGES all'immagine data.

Esempio

#Import required image modules
from PIL import Image, ImageFilter

#Import all the enhancement filter from pillow
from PIL.ImageFilter import (
   BLUR, CONTOUR, DETAIL, EDGE_ENHANCE, EDGE_ENHANCE_MORE,
   EMBOSS, FIND_EDGES, SMOOTH, SMOOTH_MORE, SHARPEN
)
#Create image object
img = Image.open('images/cat.jpg')
#Applying the blur filter
img1 = img.filter(FIND_EDGES)
img1.save('images/ImageFilter_blur.jpg')
img1.show()

Produzione

Se si salva il programma sopra e lo si esegue, mostra l'immagine originale e l'immagine filtrata utilizzando l'utilità di visualizzazione PNG standard, come segue:

Original image

Filtered image

Metodo Python img.filter (SMOOTH)

Il seguente esempio di Python applica il filtro SMOOTH all'immagine data.

Esempio

#Import required image modules
from PIL import Image, ImageFilter

#Import all the enhancement filter from pillow
from PIL.ImageFilter import (
   BLUR, CONTOUR, DETAIL, EDGE_ENHANCE, EDGE_ENHANCE_MORE,
   EMBOSS, FIND_EDGES, SMOOTH, SMOOTH_MORE, SHARPEN
)
#Create image object
img = Image.open('images/cat.jpg')
#Applying the blur filter
img1 = img.filter(SMOOTH)
img1.save('images/ImageFilter_blur.jpg')
img1.show()

Produzione

Se si salva il programma sopra e lo si esegue, mostra l'immagine originale e l'immagine filtrata utilizzando l'utilità di visualizzazione PNG standard, come segue:

Original image

Filtered image

Metodo Python img.filter (SHARPEN)

Il seguente esempio di Python applica il filtro SHARPEN all'immagine data.

Esempio

#Import required image modules
from PIL import Image, ImageFilter

#Import all the enhancement filter from pillow
from PIL.ImageFilter import (
   BLUR, CONTOUR, DETAIL, EDGE_ENHANCE, EDGE_ENHANCE_MORE,
   EMBOSS, FIND_EDGES, SMOOTH, SMOOTH_MORE, SHARPEN
)
#Create image object
img = Image.open('images/cat.jpg')
#Applying the blur filter
img1 = img.filter(SHARPEN)
img1.save('images/ImageFilter_blur.jpg')
img1.show()

Produzione

Se si salva il programma sopra e lo si esegue, mostra l'immagine originale e l'immagine filtrata utilizzando l'utilità di visualizzazione PNG standard, come segue:

Original image

Filtered image

Il seguente esempio di Python applica il filtro SHARPEN all'immagine data.

Esempio

#Import required image modules
from PIL import Image, ImageFilter
#Import all the enhancement filter from pillow
from PIL.ImageFilter import (
   BLUR, CONTOUR, DETAIL, EDGE_ENHANCE, EDGE_ENHANCE_MORE,
   EMBOSS, FIND_EDGES, SMOOTH, SMOOTH_MORE, SHARPEN
)
#Create image object
img = Image.open('images/cat.jpg')
#Applying the blur filter
img1 = img.filter(SHARPEN)
img1.save('images/ImageFilter_blur.jpg')
img1.show()

Produzione

Se si salva il programma sopra e lo si esegue, mostra l'immagine originale e l'immagine filtrata utilizzando l'utilità di visualizzazione PNG standard, come segue:

Original image

Filtered image