Almofada Python - Desfoque uma imagem

Desfocar uma imagem pode ser feito reduzindo o nível de ruído na imagem aplicando um filtro a uma imagem. O desfoque da imagem é um dos aspectos importantes do processamento de imagem.

o ImageFilter classna biblioteca Pillow fornece vários filtros de imagem padrão. Filtros de imagem podem ser aplicados a uma imagem chamando ofilter() method de objeto Image com o tipo de filtro necessário, conforme definido na classe ImageFilter.

Existem várias técnicas usadas para desfocar imagens e vamos discutir as técnicas mencionadas abaixo.

  • Borrão simples

  • Borrão de caixa

  • Borrão gaussiano

Todas essas três técnicas vão usar o método 'Image.filter ()' para aplicar o filtro às imagens.

Borrão simples

Ele aplica um efeito de desfoque na imagem conforme especificado por meio de um kernel específico ou uma matriz de convolução.

Sintaxe

filter(ImageFilter.BLUR)

Exemplo

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

Ao ser executado, o exemplo acima gera as duas janelas do utilitário de exibição PNG padrão (neste caso, as janelas Photos aplicativo).

Original image

Blurred image

Borrão de caixa

Neste filtro, usamos 'radius' como parâmetro. O raio é diretamente proporcional ao valor do desfoque.

Sintaxe

ImageFilter.BoxBlur(radius)

Onde,

  • Radius - Tamanho da caixa em uma direção.

  • Radius 0 - significa que não há desfoque e retorna a mesma imagem.

  • RRadius 1 & minnus; leva 1 pixel em cada direção, ou seja, 9 pixels no total.

Exemplo

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

Resultado

Ao ser executado, o exemplo acima gera as duas janelas do utilitário de exibição PNG padrão (neste caso, o aplicativo Fotos do Windows).

Original image

Blurred image

Gaussian Blur

Este filtro também usa o parâmetro de raio e faz o mesmo trabalho que o desfoque de caixa com algumas alterações algorítmicas. Em suma, alterar o valor do raio irá gerar diferentes intensidades de imagens 'Gaussianblur'.

Sintaxe

ImageFilter.GaussianBlur(radius=2)

Onde,

  • Raio - raio de desfoque

Exemplo

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

Resultado

Ao ser executado, o exemplo acima gera as duas janelas do utilitário de exibição PNG padrão (neste caso, as janelas Photos aplicativo).

Original image

Blurred image