EN JA ZH ES

Filtrado de Fourier para eliminación de ruido - Procesamiento de imágenes en el dominio de frecuencia

· 9 min de lectura

Transformada de Fourier y representación frecuencial de imágenes

La transformada de Fourier convierte imágenes del dominio espacial al dominio de frecuencia, revelando la distribución de los diferentes componentes frecuenciales en la imagen. Esto proporciona una herramienta poderosa para el procesamiento basado en características de frecuencia.

Conceptos básicos:

  • Baja frecuencia: regiones de la imagen con cambios lentos de brillo (áreas uniformes grandes, gradientes). Representan la estructura general y la distribución de luminosidad
  • Alta frecuencia: regiones con cambios rápidos (bordes, texturas, ruido). Representan detalles y transiciones abruptas
  • Espectro: magnitud de la FFT 2D, con baja frecuencia (componente DC) en el centro y frecuencia creciente hacia el exterior

DFT 2D (Transformada Discreta de Fourier):

  • Convierte una imagen MxN en una matriz compleja MxN
  • La magnitud de cada número complejo representa la intensidad de esa frecuencia; la fase representa la información posicional
  • Se calcula eficientemente con el algoritmo FFT, con complejidad O(N log N)

Filtros paso bajo - Fundamentos de eliminación de ruido

Los filtros paso bajo conservan los componentes de baja frecuencia (estructura de la imagen) y suprimen los de alta frecuencia (ruido y detalles). Es el método más básico de eliminación de ruido en el dominio frecuencial.

Filtros paso bajo comunes:

  • Paso bajo ideal: paso completo dentro de la frecuencia de corte, bloqueo total fuera. Produce efecto de ringing (fenómeno de Gibbs)
  • Paso bajo Butterworth: transición suave, atenuación de 3dB en la frecuencia de corte para orden n. Mayor orden se aproxima más al filtro ideal
  • Paso bajo gaussiano: función gaussiana como función de transferencia, sin efecto de ringing. Equivalente al desenfoque gaussiano en el dominio espacial

Flujo de filtrado en dominio frecuencial:

  • Aplicar FFT a la imagen para obtener el espectro
  • Multiplicar elemento a elemento el espectro por la función de transferencia del filtro
  • Aplicar FFT inversa para obtener la imagen filtrada

Selección de frecuencia de corte: demasiado baja produce excesivo desenfoque (pérdida de detalles); demasiado alta resulta en eliminación de ruido insuficiente. Generalmente se determina experimentalmente o basándose en las características frecuenciales del ruido.

Filtros paso alto y paso banda

Los filtros paso alto conservan las altas frecuencias (bordes, detalles) y suprimen las bajas (fondo). Los filtros paso banda conservan solo un rango específico de frecuencias.

Filtro paso alto:

  • Función de transferencia = 1 - función de transferencia paso bajo
  • Efecto: extrae bordes y detalles, elimina el fondo uniforme
  • Aplicación: realce de bordes, nitidez (imagen original + resultado paso alto = imagen nítida)

Filtro paso banda:

  • Conserva solo los componentes dentro de un rango de frecuencias específico
  • Implementación: paso alto (corte bajo) × paso bajo (corte alto)
  • Aplicación: extracción de texturas a escala específica, análisis de estructuras periódicas

Filtro de rechazo de banda (notch):

  • Suprime un rango de frecuencias específico, conservando el resto
  • Usado para eliminar ruido periódico de frecuencia conocida (como líneas de escaneo, moiré)

Filtros notch - Eliminación de ruido periódico

El filtro notch suprime picos de ruido en posiciones específicas del espectro, siendo el método más efectivo para eliminar ruido periódico.

Fuentes de ruido periódico:

  • Interferencia electromagnética (como interferencia de red eléctrica 50/60Hz)
  • Vibraciones mecánicas de dispositivos de escaneo
  • Moiré (interferencia entre dos patrones periódicos)
  • Ruido de patrón fijo del sensor

Flujo de filtrado notch:

  • Aplicar FFT a la imagen y observar el espectro
  • Identificar los picos frecuenciales correspondientes al ruido (aparecen como puntos brillantes en el espectro)
  • Colocar notches en esas posiciones (establecer la magnitud a 0 o atenuarla significativamente)
  • Aplicar FFT inversa para recuperar la imagen sin ruido

Forma del notch: puede ser circular (suprime una frecuencia específica), en banda (suprime frecuencias en una dirección específica) o de forma personalizada. Usar atenuación gaussiana en lugar de corte abrupto reduce los artefactos.

Filtro de Wiener y filtrado inverso

El filtro de Wiener maneja simultáneamente la eliminación de ruido y el desenfoque en el dominio frecuencial, siendo el filtro lineal óptimo (en el sentido de mínimo error cuadrático medio).

Filtrado inverso:

  • Divide directamente por la función de degradación (transformada de Fourier de la PSF) para recuperar la imagen original
  • Problema: en frecuencias donde el espectro de la PSF se acerca a cero, el ruido se amplifica enormemente
  • Prácticamente inutilizable en la práctica, excepto con ruido extremadamente bajo

Filtro de Wiener:

  • Añade regularización del espectro de potencia del ruido sobre la base del filtrado inverso
  • Reduce automáticamente la ganancia de restauración en frecuencias donde el espectro de la PSF es pequeño, evitando la amplificación del ruido
  • Requiere estimar la relación señal-ruido (SNR) o el espectro de potencia del ruido
  • Es el mejor compromiso lineal entre eliminación de desenfoque y ruido

Estimación de parámetros: el espectro de potencia del ruido puede estimarse a partir de regiones planas de la imagen. El espectro de potencia de la señal puede aproximarse con modelos estadísticos de imágenes naturales (decaimiento 1/f). En la práctica, a menudo se simplifica con un único parámetro K (relación potencia ruido/señal).

Guía de implementación - Filtrado de Fourier en Python

Implementación del filtrado de imágenes en el dominio frecuencial usando NumPy y OpenCV en Python.

Flujo básico:

  • import numpy as np, cv2
  • FFT: f = np.fft.fft2(img); fshift = np.fft.fftshift(f)
  • Crear filtro (máscara del mismo tamaño que la imagen)
  • Aplicar filtrado: filtered = fshift * mask
  • FFT inversa: result = np.abs(np.fft.ifft2(np.fft.ifftshift(filtered)))

Creación de filtro paso bajo gaussiano:

  • Crear coordenadas de malla del mismo tamaño que la imagen
  • Calcular la distancia de cada punto al centro
  • Aplicar función gaussiana: mask = np.exp(-(dist**2) / (2 * sigma**2))

Consideraciones:

  • Rellenar con ceros antes de la FFT (extender a potencia de 2) acelera el cálculo y evita la convolución circular
  • fftshift mueve la frecuencia cero al centro, facilitando el diseño de filtros simétricos
  • Después del filtrado, tomar la parte real o la magnitud, descartando la parte imaginaria mínima (error numérico)
  • cv2.dft de OpenCV es más rápido que np.fft.fft2 de NumPy para imágenes grandes

Artículos relacionados

Fundamentos del análisis en dominio de frecuencia - Comprender la frecuencia espacial y el espectro

Explicación sistemática de los conceptos fundamentales del análisis de imágenes en el dominio de frecuencia. Cubre frecuencia espacial, transformada de Fourier, interpretación del espectro y aplicaciones del procesamiento frecuencial.

Principios y práctica de la reducción de ruido en imágenes - Guía completa de eliminación de ruido en fotografía digital

Desde las causas del ruido en imágenes hasta los algoritmos de eliminación y flujos de trabajo prácticos. Aprenda a manejar el ruido de fotografía con ISO alto y en condiciones de poca luz.

Algoritmos de compresión de imagen en profundidad - DCT, transformada wavelet y codificación predictiva

Explicación profunda de las tecnologías centrales de compresión de imágenes. Comprende los principios matemáticos detrás de la DCT de JPEG, la transformada wavelet de JPEG 2000, la codificación predictiva de H.265/AV1 y la codificación de entropía.

Técnicas de dithering - Tipos y aplicaciones para representar gradientes con colores limitados

Comparación de difusión de error, dithering Bayer y técnicas de ruido azul. Cubre principios, características y aplicaciones desde estética retro hasta impresión.

Principios y práctica del desenfoque de imagen - Del desenfoque de movimiento a la recuperación de desenfoque

Guía sistemática de técnicas de desenfoque de imagen que cubre filtrado de Wiener, deconvolución ciega y métodos de vanguardia basados en aprendizaje profundo con detalles de implementación.

Análisis de componentes conexos y etiquetado - Identificación y conteo individual de objetos

Explicación del análisis de componentes conexos para identificar objetos individuales en imágenes binarias. Cubre conectividad 4 vs 8, algoritmos de etiquetado e implementación de filtrado por área.

Términos relacionados