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
