Cuscino Python - Sfoca un'immagine
È possibile sfocare un'immagine riducendo il livello di disturbo nell'immagine applicando un filtro a un'immagine. La sfocatura dell'immagine è uno degli aspetti importanti dell'elaborazione delle immagini.
Il ImageFilter classnella libreria Pillow fornisce diversi filtri immagine standard. I filtri immagine possono essere applicati a un'immagine chiamando il filefilter() method dell'oggetto Image con il tipo di filtro richiesto come definito nella classe ImageFilter.
Esistono varie tecniche utilizzate per sfocare le immagini e discuteremo le tecniche sotto menzionate.
Sfocatura semplice
Sfocatura casella
sfocatura gaussiana
Tutte e tre queste tecniche useranno il metodo "Image.filter ()" per applicare il filtro alle immagini.
Sfocatura semplice
Applica un effetto di sfocatura all'immagine come specificato tramite un kernel specifico o una matrice di convoluzione.
Sintassi
filter(ImageFilter.BLUR)
Esempio
#Import required Image library
from PIL import Image, ImageFilter
#Open existing image
OriImage = Image.open('images/boy.jpg')
OriImage.show()
blurImage = OriImage.filter(ImageFilter.BLUR)
blurImage.show()
#Save blurImage
blurImage.save('images/simBlurImage.jpg')
Durante l'esecuzione, l'esempio precedente genera le due finestre di utilità di visualizzazione PNG standard (in questo caso windows Photos app).
Original image

Blurred image

Sfocatura casella
In questo filtro, usiamo "raggio" come parametro. Il raggio è direttamente proporzionale al valore di sfocatura.
Sintassi
ImageFilter.BoxBlur(radius)
Dove,
Radius - Dimensioni della scatola in una direzione.
Radius 0 - significa nessuna sfocatura e restituisce la stessa immagine.
RRadius 1 & minnus; richiede 1 pixel in ciascuna direzione, ovvero 9 pixel in totale.
Esempio
#Import required Image library
from PIL import Image,
#Open existing image
OriImage = Image.open('images/boy.jpg')
OriImage.show()
#Applying BoxBlur filter
boxImage = OriImage.filter(ImageFilter.BoxBlur(5))
boxImage.show()
#Save Boxblur image
boxImage.save('images/boxblur.jpg')
Produzione
Durante l'esecuzione, l'esempio sopra genera le due finestre di utilità di visualizzazione PNG standard (in questo caso l'app Foto di Windows).
Original image

Blurred image

Sfocatura gaussiana
Questo filtro utilizza anche il raggio del parametro e svolge lo stesso lavoro della sfocatura del riquadro con alcune modifiche algoritmiche. In breve, cambiando il valore del raggio, si generano diverse intensità di immagini "Gaussianblur".
Sintassi
ImageFilter.GaussianBlur(radius=2)
Dove,
Raggio - Raggio di sfocatura
Esempio
#Import required Image library
from PIL import Image, ImageFilter
#Open existing image
OriImage = Image.open('images/boy.jpg')
OriImage.show()
#Applying GaussianBlur filter
gaussImage = OriImage.filter(ImageFilter.GaussianBlur(5))
gaussImage.show()
#Save Gaussian Blur Image
gaussImage.save('images/gaussian_blur.jpg')
Produzione
Durante l'esecuzione, l'esempio precedente genera le due finestre di utilità di visualizzazione PNG standard (in questo caso windows Photos app).
Original image

Blurred image
