Gaussian Blur
El desenfoque gaussiano es un filtro de suavizado de imágenes que reduce el ruido y los detalles finos mediante promedios ponderados de píxeles para visión artificial y preprocesamiento.
El desenfoque gaussiano es una técnica de suavizado de imágenes que sustituye cada píxel por un promedio ponderado de los píxeles cercanos, dando más peso a los vecinos más próximos. Los pesos siguen una distribución gaussiana en forma de campana, que produce un desenfoque suave y reduce el ruido y los detalles finos. También conocido como suavizado gaussiano, se utiliza ampliamente en visión artificial y preprocesamiento de datos para preparar imágenes para su análisis.
Cómo funciona el desenfoque gaussiano#
El filtro desplaza por la imagen una pequeña cuadrícula de pesos, denominada kernel. En cada posición, multiplica los valores de los píxeles vecinos por sus pesos y suma los resultados. Esta operación es la convolución. Los pesos suman uno, por lo que un píxel permanece sin cambios cuando todos los valores muestreados por su kernel tienen el mismo brillo. El desenfoque gaussiano actúa como un filtro paso bajo: suprime los cambios rápidos entre píxeles, incluidos el ruido, la textura y los bordes nítidos.
Dos parámetros determinan el resultado. Sigma, la desviación estándar de la distribución gaussiana, controla la amplitud de la dispersión de los pesos; al aumentar sigma, se consigue un suavizado más intenso. Tamaño del kernel determina qué parte de la imagen circundante se incluye. Un kernel más grande admite una gaussiana más amplia, mientras que un kernel demasiado pequeño corta sus colas. El radio del kernel describe la distancia desde el centro hasta el borde del kernel: un radio de tres píxeles da lugar a un kernel de siete píxeles de ancho.
En los bordes de la imagen, parte del kernel queda fuera de los píxeles disponibles. Reflejar la imagen amplía el contenido cercano; rellenar la zona que falta con ceros introduce valores oscuros que pueden oscurecer el borde. Por tanto, el tratamiento de los límites modifica el resultado filtrado cerca de los bordes de la imagen.
Aplicaciones en visión artificial y aprendizaje automático#
El suavizado gaussiano facilita la extracción de características al controlar la escala espacial a la que se analiza la estructura de una imagen. Su uso a múltiples escalas tiene su origen en el trabajo sobre el espacio de escala gaussiano de Taizo Iijima, realizado entre 1959 y 1962, que sentó las bases para representar imágenes con distintos niveles de desenfoque.
En la implementación de detección de bordes de Canny de scikit-image, el suavizado gaussiano reduce el ruido antes de estimar el gradiente con el operador de Sobel. Sin suavizado, el ruido produce cambios adicionales de intensidad que compiten con los bordes de los objetos. Al aumentar la escala de suavizado también se eliminan los bordes finos, lo que cambia los contornos que permanecen tras la detección.
Para la segmentación de imágenes de documentos, los promedios locales ponderados por una gaussiana permiten aplicar un umbral adaptativo. A cada píxel se le asigna un umbral calculado a partir del promedio ponderado de su vecindad menos un desplazamiento. Esto separa el texto del fondo cuando la iluminación es irregular, como en el umbralizado local de una página escaneada.
Como aumento de datos, el desenfoque gaussiano crea versiones suavizadas de las imágenes de entrenamiento y conserva las coordenadas de las cajas delimitadoras y los puntos clave. Ultralytics YOLO admite A.GaussianBlur mediante sus transformaciones personalizadas de Albumentations, lo que permite incluir variaciones controladas de desenfoque durante el entrenamiento de YOLO26.
Comparación del desenfoque gaussiano con otros filtros#
La elección del método de suavizado determina qué información de la imagen se conserva:
- Desenfoque medio, también llamado desenfoque de caja, asigna el mismo peso a todos los píxeles de su ventana. El desenfoque gaussiano da más peso a los píxeles cercanos, lo que produce un promedio con una ponderación más gradual.
- El desenfoque de mediana sustituye un píxel por el valor de la mediana de su vecindad. Es especialmente eficaz para el ruido de sal y pimienta: píxeles aislados claros y oscuros.
- El filtrado bilateral utiliza tanto la distancia espacial como la similitud de intensidad para reducir el ruido y conservar los bordes nítidos. El desenfoque gaussiano pondera los píxeles únicamente por su posición, por lo que también suaviza los bordes.
Aplicar desenfoque gaussiano en Python#
OpenCV ofrece cv2.GaussianBlur para el suavizado gaussiano. Instala su paquete de Python con pip install opencv-python y guarda una comparación en paralelo:
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)La imagen guardada muestra el original a la izquierda y el resultado suavizado a la derecha. El kernel de 15 x 15 usa sigma de tres píxeles en ambas direcciones, porque el valor omitido sigmaY toma el valor de sigmaX.
Los kernels gaussianos son separables: los filtros unidimensionales horizontal y vertical producen el desenfoque bidimensional correspondiente. Para un kernel de 7 x 7, esto reduce de 49 a 14 las contribuciones de los pesos del kernel por píxel.










