Almohada Python: difuminar una imagen

Se puede difuminar una imagen reduciendo el nivel de ruido en la imagen aplicando un filtro a una imagen. El desenfoque de la imagen es uno de los aspectos importantes del procesamiento de imágenes.

los ImageFilter classen la biblioteca Pillow proporciona varios filtros de imagen estándar. Los filtros de imagen se pueden aplicar a una imagen llamando alfilter() method del objeto Image con el tipo de filtro requerido como se define en la clase ImageFilter.

Hay varias técnicas que se utilizan para desenfocar imágenes y vamos a discutir las técnicas mencionadas a continuación.

  • Desenfoque simple

  • Caja de desenfoque

  • desenfoque gaussiano

Todas estas tres técnicas utilizarán el método 'Image.filter ()' para aplicar el filtro a las imágenes.

Desenfoque simple

Aplica un efecto de desenfoque a la imagen como se especifica a través de un kernel específico o una matriz de convolución.

Sintaxis

filter(ImageFilter.BLUR)

Ejemplo

#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')

Al ejecutar, el ejemplo anterior genera las dos ventanas de utilidad de visualización PNG estándar (en este caso, windows Photos aplicación).

Original image

Blurred image

Caja de desenfoque

En este filtro, usamos 'radio' como parámetro. El radio es directamente proporcional al valor de desenfoque.

Sintaxis

ImageFilter.BoxBlur(radius)

Dónde,

  • Radius - Tamaño de la caja en una dirección.

  • Radius 0 - significa que no hay borrosidad y devuelve la misma imagen.

  • RRadius 1 & minnus; toma 1 píxel en cada dirección, es decir, 9 píxeles en total.

Ejemplo

#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')

Salida

Al ejecutar, el ejemplo anterior genera las dos ventanas de utilidad de visualización PNG estándar (en este caso, la aplicación Fotos de Windows).

Original image

Blurred image

Desenfoque gaussiano

Este filtro también usa el radio de parámetro y hace el mismo trabajo que el desenfoque de cuadro con algunos cambios algorítmicos. En resumen, cambiar el valor del radio generará una intensidad diferente de imágenes de 'desenfoque gaussiano'.

Sintaxis

ImageFilter.GaussianBlur(radius=2)

Dónde,

  • Radio: radio de desenfoque

Ejemplo

#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')

Salida

Al ejecutar, el ejemplo anterior genera las dos ventanas de utilidad de visualización PNG estándar (en este caso, windows Photos aplicación).

Original image

Blurred image