2016-05-05 25 views
5

sto cercando di offuscare un'immagine con Pillow, utilizzando the ImageFilter come segue:Come definire il raggio per sfocatura con Python Pillow?

from PIL import ImageFilter 
blurred_image = im.filter(ImageFilter.BLUR) 

Questo funziona bene, tranne che ha un raggio di set che è troppo piccola per me. Voglio sfocare l'immagine così tanto che può essere a malapena riconosciuta più. Nei documenti vedo che the radius is set to 2 by default, ma non capisco davvero come posso impostarlo su un valore più grande?

Qualcuno ha idea di come sia possibile aumentare il raggio di sfocatura con Cuscino? Tutti i suggerimenti sono ben accetti!

+0

Una delle proprietà interessanti di una sfocatura gaussiana è che quando lo si esegue più volte, il risultato è una sfocatura gaussiana più ampio. Prova a farlo due volte. –

risposta

4

Image.filter() prende uno ImageFilter in modo da poter creare un'istanza ImageFilter.GaussianBlur con qualsiasi raggio desiderato, inoltrato come argomento con nome.

blurred_image = im.filter(ImageFilter.GaussianBlur(radius=50)) 

Si può anche rendere più conciso in questo modo:

blurred_image = im.filter(ImageFilter.GaussianBlur(50)) 
+1

La versione che sto ancora usando (Immagine 1.1.7, Ubuntu 12.04) ha un bug. Il parametro è ignorato Soluzione: 'filter = ImageFilter.GaussianBlur(); filter.radius = 50', 'blurred_image = im.filter (filter)'. Solo per salvarti la ricerca nel caso tu abbia avuto lo stesso problema che avevo io. – Alfe