Skip to content

Blur Gaussiano

Manoel Silva edited this page Jul 8, 2022 · 2 revisions

Blur Gaussiano

O Blur Gaussiano é uma técnica usada para borrar uma imagem, sendo amplamente usada na indústria tecnológica no design de aplicativos modernos e em efeitos de imagens para diminuir o seu ruído, ou em nosso caso, para censurar uma imagem.

O nome deste efeito se chama Blur Gaussiano pois ele deriva de uma Função Gaussiana, aplicando tal função nos pixels das imagens, gerando um efeito borrado.

Função Gaussiana

A função Gaussiana, de duas variáveis, é expressada por:

Sendo esta função caracterizada por determinar, como vemos na imagem abaixo, uma distribuição normal, amplamente usada em estatística.

Porém, para ser aplicada em uma imagem, ela é usada no processo que chamamos de Convolução, em que é um algoritmo que trata uma matriz usando como base um ponto central e modificando para que fique "parecido" aos valores ao redor deste ponto.

Convolução/Kernel

Quando aplicamos este filtro, observamos uma região de pixels que estão próximos do pixel que estamos modificando. Esta região chamamos de Kernel, sendo esta uma matriz LxC que representa a região de pixels.

Por isso, os valores de L e C devem ser positivos e ímpares, já que, se forem um número par, não haveria centro para calcular o pixel! Caso a matriz não seja quadrada, os pixels estariam distorcidos. Além disso, quanto maior for o tamanho desta matriz, maior será a intensidade o efeito e também terá um custo computacional maior.

Calculando os pesos do Kernel

Agora que usamos a equação Gaussiana para determinar os pesos de cada pixel dentro do Kernel, respeitando, assim, a distribuição Gaussiana, em que o pixel central possui o maior valor, reduzindo quando afastamos do centro (de forma similar ao gráfico mostrado anteriormente).Logo, por conta desta distribuição, a imagem ainda será reconhecível e estará borrada! Após isso o valor central é a média ponderada os pixels ao redor dele.

Aplicando a equação neste kernel com um sigma dado e que o maior valor seja o central, temos:

Calculando o Blur Gaussiano

Agora que temos o kernel que irá percorrer cada pixel da imagem com o peso definido pela Equação Gaussiana, aplicamos para cada valor RGB do pixel (três valores de 0 ate 255 que determinam as três cores primárias: Vermelho, Verde e Azul) e multiplicamos pelo valor central do kernel.

Isto dará uma nova cor para cada pixel da imagem, como se esta cor fosse uma média das cores mais próximas a este ponto. Assim a imagem estará borrada como a animação mostra:


Fontes

Gaussian Blur Algorithm

Efficient Gaussian Blur with Linear Sampling

Blurring - Image Processing

OpenCV - Blurring

Clone this wiki locally