Gaussian Blur
O desfoque gaussiano é um filtro de suavização de imagem que reduz o ruído e os detalhes finos por meio de médias ponderadas dos pixels, para visão computacional e pré-processamento.
O desfoque gaussiano é uma técnica de suavização de imagem que substitui cada pixel por uma média ponderada dos pixels próximos, dando mais influência aos vizinhos mais próximos. Os pesos seguem uma distribuição gaussiana em forma de sino, produzindo um desfoque suave que reduz o ruído e os detalhes finos. Também chamada de suavização gaussiana, essa técnica é amplamente usada em visão computacional e pré-processamento de dados para preparar imagens para análise.
Como funciona o desfoque gaussiano#
O filtro desloca uma pequena grade de pesos, chamada kernel, pela imagem. Em cada posição, multiplica os valores dos pixels vizinhos pelos respectivos pesos e soma os resultados. Essa operação é a convolução. A soma dos pesos é um, portanto um pixel permanece inalterado quando todos os valores amostrados pelo kernel têm o mesmo brilho. O desfoque gaussiano atua como um filtro passa-baixa: suprime mudanças rápidas entre pixels, incluindo ruído, textura e limites nítidos.
Dois parâmetros determinam o resultado. Sigma, o desvio padrão da distribuição gaussiana, controla a dispersão dos pesos; aumentar sigma produz uma suavização mais intensa. Tamanho do kernel determina quanto da imagem ao redor é incluído. Um kernel maior comporta uma distribuição gaussiana mais ampla, enquanto um kernel pequeno demais corta as caudas da distribuição. O raio do kernel descreve a distância do centro até a borda do kernel: um raio de três pixels resulta em um kernel com sete pixels de largura.
Nas bordas da imagem, parte do kernel fica fora dos pixels disponíveis. Refletir a imagem estende o conteúdo próximo; preencher a área ausente com zeros introduz valores escuros que podem escurecer a borda. Portanto, o tratamento das bordas altera a saída filtrada nas proximidades dos limites da imagem.
Aplicações em visão computacional e aprendizado de máquina#
A suavização gaussiana auxilia a extração de características ao controlar a escala espacial na qual a estrutura da imagem é analisada. Seu uso em múltiplas escalas tem origem no trabalho de Taizo Iijima sobre espaço de escala gaussiano, desenvolvido entre 1959 e 1962, que estabeleceu as bases para representar imagens com diferentes níveis de desfoque.
Na implementação do scikit-image de detecção de bordas de Canny, a suavização gaussiana reduz o ruído antes da estimativa do gradiente com o operador Sobel. Sem suavização, o ruído gera mudanças adicionais de intensidade que competem com os limites dos objetos. Aumentar a escala de suavização também remove bordas finas, alterando quais contornos permanecem após a detecção.
Para a segmentação de imagens de documentos, as médias locais ponderadas por uma gaussiana permitem aplicar limiarização adaptativa. Cada pixel recebe um limiar calculado a partir da média ponderada da sua vizinhança menos um deslocamento. Isso separa o texto do fundo quando a iluminação é irregular, como na limiarização local de uma página digitalizada.
Como aumento de dados, o desfoque gaussiano cria versões suavizadas das imagens de treinamento, preservando as coordenadas das caixas delimitadoras e dos pontos-chave. O Ultralytics YOLO oferece suporte a A.GaussianBlur por meio das transformações personalizadas do Albumentations, permitindo incluir variações controladas de desfoque no treinamento do YOLO26.
Comparação do desfoque gaussiano com outros filtros#
A escolha do método de suavização altera quais informações da imagem são preservadas:
- Desfoque médio, também chamado de desfoque de caixa, atribui o mesmo peso a todos os pixels da janela. O desfoque gaussiano dá mais peso aos pixels próximos, criando uma média com pesos que variam de forma mais gradual.
- Desfoque mediano substitui um pixel pelo valor mediano da vizinhança. É especialmente eficaz contra o ruído sal e pimenta: pixels isolados claros e escuros.
- Filtragem bilateral usa tanto a distância espacial quanto a semelhança de intensidade para reduzir o ruído e preservar limites nítidos. O desfoque gaussiano pondera os pixels apenas pela posição, por isso também suaviza as bordas.
Aplicação do desfoque gaussiano em Python#
O OpenCV oferece cv2.GaussianBlur para suavização gaussiana. Instala o pacote Python com pip install opencv-python e, em seguida, guarda uma comparação lado a lado:
from urllib.request import urlopen
import cv2
import numpy as np
with urlopen("https://ultralytics.com/images/bus.jpg") as response:
image_bytes = np.frombuffer(response.read(), dtype=np.uint8)
image = cv2.imdecode(image_bytes, cv2.IMREAD_COLOR)
blurred = cv2.GaussianBlur(image, (15, 15), sigmaX=3)
comparison = cv2.hconcat([image, blurred])
cv2.imwrite("gaussian_blur_comparison.jpg", comparison)A imagem guardada coloca o original à esquerda e o resultado suavizado à direita. O kernel de 15 x 15 usa sigma de três pixels em ambas as direções, porque sigmaY omitido assume o valor de sigmaX.
Os kernels gaussianos são separáveis: filtros unidimensionais horizontais e verticais produzem o desfoque bidimensional correspondente. Para um kernel de 7 x 7, isso reduz de 49 para 14 as contribuições dos pesos do kernel por pixel.










