Python Pillow: agregar filtros a una imagen

los ImageFilter module contiene definiciones para un conjunto predefinido de filtros, que usamos con Image.filter()método. Estos filtros se utilizan para cambiar la apariencia de la imagen.

Ejemplo

El siguiente ejemplo es el filtrado de una imagen:

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()

En el programa anterior, hemos utilizado el MinFilter()método, que se utiliza para crear un filtro mínimo. Selecciona el valor de píxel más bajo en una ventana con el tamaño dado.

ImageFilter.MinFilter(size=3)

Dónde,

size - El tamaño del kernel, en píxeles.

Salida

Si guarda el programa anterior y lo ejecuta, muestra la imagen original, la imagen borrosa y la imagen borrosa con MinFilter usando la utilidad de visualización PNG estándar, de la siguiente manera:

Original Image

Blurred Image

Image blurred with mini filter

Filtros

La versión actual de la biblioteca de almohadas proporciona el conjunto de filtros de mejora de imagen predefinidos que se mencionan a continuación.

  • BLUR

  • CONTOUR

  • DETAIL

  • EDGE_ENHANCE

  • EDGE_ENHANCE_MORE

  • EMBOSS

  • FIND_EDGES

  • SHARPEN

  • SMOOTH

  • SMOOTH_MORE

Ejemplo

El siguiente ejemplo de Python aplica el filtro de desenfoque en una imagen, la guarda y la muestra usando la utilidad de visualización PNG estándar:

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

Salida

De la misma manera, al image.filter() método, puede pasar cualquiera de los siguientes parámetros para obtener las salidas respectivas:

  • CONTOUR

  • DETAIL

  • EDGE_ENHANCE

  • EDGE_ENHANCE_MORE

  • EMBOSS

  • FIND_EDGES

  • SMOOTH

  • SMOOTH_MORE

  • SHARPEN

Método de Python img.filter (CONTOUR)

El siguiente ejemplo de Python aplica el filtro CONTOUR a la imagen dada.

Ejemplo

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

Salida

Si guarda el programa anterior y lo ejecuta, muestra la imagen original y la imagen filtrada utilizando la utilidad de visualización PNG estándar, de la siguiente manera:

Original image

Filtered image

Método python img.filter (DETAIL)

El siguiente ejemplo de Python aplica el filtro DETALLE a la imagen dada.

Ejemplo

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

Salida

Si guarda el programa anterior y lo ejecuta, muestra la imagen original y la imagen filtrada utilizando la utilidad de visualización PNG estándar, de la siguiente manera:

Original image

Filtered image

Método de Python img.filter (EDGE_ENHANCE)

El siguiente ejemplo de Python aplica el filtro EDGE_ENHANCE a la imagen dada:

Ejemplo

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

Salida

Si guarda el programa anterior y lo ejecuta, muestra la imagen original y la imagen filtrada utilizando la utilidad de visualización PNG estándar, de la siguiente manera:

Original image

Filtered image

Método Python img.filter (EDGE_ENHANCE_MORE)

El siguiente ejemplo de Python aplica el filtro EDGE_ENHANCE_MORE a la imagen dada.

Ejemplo

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

Salida

Si guarda el programa anterior y lo ejecuta, muestra la imagen original y la imagen filtrada utilizando la utilidad de visualización PNG estándar, de la siguiente manera:

Original image

Filtered image

Método de Python img.filter (EMBOSS)

El siguiente ejemplo de Python aplica el filtro EMBOSS a la imagen dada.

Ejemplo

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

Salida

Si guarda el programa anterior y lo ejecuta, muestra la imagen original y la imagen filtrada utilizando la utilidad de visualización PNG estándar, de la siguiente manera:

Original image

Filtered image

Método de Python img.filter (FIND_EDGES)

El siguiente ejemplo de Python aplica el filtro FIND_EDGES a la imagen dada.

Ejemplo

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

Salida

Si guarda el programa anterior y lo ejecuta, muestra la imagen original y la imagen filtrada utilizando la utilidad de visualización PNG estándar, de la siguiente manera:

Original image

Filtered image

Método Python img.filter (SMOOTH)

El siguiente ejemplo de Python aplica el filtro SMOOTH a la imagen dada.

Ejemplo

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

Salida

Si guarda el programa anterior y lo ejecuta, muestra la imagen original y la imagen filtrada utilizando la utilidad de visualización PNG estándar, de la siguiente manera:

Original image

Filtered image

Método de Python img.filter (SHARPEN)

El siguiente ejemplo de Python aplica el filtro SHARPEN a la imagen dada.

Ejemplo

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

Salida

Si guarda el programa anterior y lo ejecuta, muestra la imagen original y la imagen filtrada utilizando la utilidad de visualización PNG estándar, de la siguiente manera:

Original image

Filtered image

El siguiente ejemplo de Python aplica el filtro SHARPEN a la imagen dada.

Ejemplo

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

Salida

Si guarda el programa anterior y lo ejecuta, muestra la imagen original y la imagen filtrada utilizando la utilidad de visualización PNG estándar, de la siguiente manera:

Original image

Filtered image