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