Python Pillow - Adicionando Filtros a uma Imagem

o ImageFilter module contém definições para um conjunto predefinido de filtros, que usamos com Image.filter()método. Esses filtros são usados ​​para alterar a aparência e o comportamento da imagem.

Exemplo

O exemplo abaixo é Filtrando uma imagem -

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

No programa acima, usamos o MinFilter()método, que é usado para criar um filtro mínimo. Ele escolhe o menor valor de pixel em uma janela com o tamanho fornecido.

ImageFilter.MinFilter(size=3)

Onde,

size - O tamanho do kernel, em pixels.

Resultado

Se você salvar o programa acima e executar, ele mostra a imagem original, a imagem borrada e a imagem borrada com MinFilter usando o utilitário de exibição PNG padrão, como segue -

Original Image

Blurred Image

Image blurred with mini filter

Filtros

A versão atual da biblioteca de travesseiros fornece o conjunto mencionado abaixo de filtros de aprimoramento de imagem predefinidos.

  • BLUR

  • CONTOUR

  • DETAIL

  • EDGE_ENHANCE

  • EDGE_ENHANCE_MORE

  • EMBOSS

  • FIND_EDGES

  • SHARPEN

  • SMOOTH

  • SMOOTH_MORE

Exemplo

O exemplo de python a seguir aplica o filtro de desfoque em uma imagem, salva-a e exibe-a usando o utilitário de exibição PNG padrão -

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

Resultado

Da mesma forma, para o image.filter() método, você pode passar qualquer um dos seguintes parâmetros para obter as respectivas saídas -

  • CONTOUR

  • DETAIL

  • EDGE_ENHANCE

  • EDGE_ENHANCE_MORE

  • EMBOSS

  • FIND_EDGES

  • SMOOTH

  • SMOOTH_MORE

  • SHARPEN

Método Python img.filter (CONTOUR)

O exemplo de python a seguir aplica o filtro CONTOUR à imagem fornecida.

Exemplo

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

Resultado

Se você salvar o programa acima e executar, ele mostrará a imagem original e a imagem filtrada usando o utilitário de exibição PNG padrão, como segue -

Original image

Filtered image

Método Python img.filter (DETAIL)

O seguinte exemplo python aplica o filtro DETAIL à imagem fornecida.

Exemplo

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

Resultado

Se você salvar o programa acima e executar, ele mostra a imagem original e a imagem filtrada usando o utilitário de exibição PNG padrão, como segue -

Original image

Filtered image

Método Python img.filter (EDGE_ENHANCE)

O exemplo de python a seguir aplica o filtro EDGE_ENHANCE à imagem fornecida -

Exemplo

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

Resultado

Se você salvar o programa acima e executar, ele mostra a imagem original e a imagem filtrada usando o utilitário de exibição PNG padrão, como segue -

Original image

Filtered image

Método Python img.filter (EDGE_ENHANCE_MORE)

O exemplo de python a seguir aplica o filtro EDGE_ENHANCE_MORE à imagem fornecida.

Exemplo

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

Resultado

Se você salvar o programa acima e executar, ele mostra a imagem original e a imagem filtrada usando o utilitário de exibição PNG padrão, como segue -

Original image

Filtered image

Método Python img.filter (EMBOSS)

O exemplo de python a seguir aplica o filtro EMBOSS à imagem fornecida.

Exemplo

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

Resultado

Se você salvar o programa acima e executar, ele mostrará a imagem original e a imagem filtrada usando o utilitário de exibição PNG padrão, como segue -

Original image

Filtered image

Método Python img.filter (FIND_EDGES)

O exemplo de python a seguir aplica o filtro FIND_EDGES à imagem fornecida.

Exemplo

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

Resultado

Se você salvar o programa acima e executar, ele mostrará a imagem original e a imagem filtrada usando o utilitário de exibição PNG padrão, como segue -

Original image

Filtered image

Método Python img.filter (SMOOTH)

O exemplo de python a seguir aplica o filtro SMOOTH à imagem fornecida.

Exemplo

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

Resultado

Se você salvar o programa acima e executar, ele mostrará a imagem original e a imagem filtrada usando o utilitário de exibição PNG padrão, como segue -

Original image

Filtered image

Método Python img.filter (SHARPEN)

O exemplo de python a seguir aplica o filtro SHARPEN à imagem fornecida.

Exemplo

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

Resultado

Se você salvar o programa acima e executar, ele mostrará a imagem original e a imagem filtrada usando o utilitário de exibição PNG padrão, como segue -

Original image

Filtered image

O exemplo de python a seguir aplica o filtro SHARPEN à imagem fornecida.

Exemplo

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

Resultado

Se você salvar o programa acima e executar, ele mostrará a imagem original e a imagem filtrada usando o utilitário de exibição PNG padrão, como segue -

Original image

Filtered image