Las imágenes de radar de apertura sintética (SAR) utilizadas en monitoreo ambiental y militar sufren de un tipo específico de ruido llamado speckle, que posee características similares al ruido sal y pimienta. El filtro de la mediana es el método estándar para eliminar este ruido porque preserva los bordes de las estructuras mientras elimina los puntos espurios.
Salida: Mostrar la matriz filtrada \(L \times C\).
3.12.9.2 📌 Restricciones Computacionales
Ventana: Siempre \(3 \times 3 = 9\) elementos.
Mediana: El elemento central de la secuencia ordenada (índice 4 de 0 a 8).
Sin recorte: La mediana de valores en \([0, 255]\) permanece en \([0, 255]\).
No lineal: El filtro de mediana no puede expresarse como convolución lineal.
3.12.9.3 🧠 Fundamentación Teórica
Ruido
Filtro de Media
Filtro de Mediana
Sal y pimienta (0 o 255)
Dispersa el ruido
Elimina sin distorsionar bordes
Gaussiano
Reduce eficazmente
Reduce parcialmente
3.12.9.4 📦 Especificación de Entrada y Salida (VPL)
Entrada:
Línea 1: Entero \(L\).
Línea 2: Entero \(C\).
Líneas siguientes: Elementos de la matriz.
Salida:
Matriz filtrada \(L \times C\).
3.12.9.5 📌 Ejemplos
Entrada
Salida
Observación
3
3
100 100 100
100 0 100
100 100 100
100 100 100
100 100 100
100 100 100
Punto negro eliminado: mediana de 8×100+1×0 = 100
3
3
50 50 50
50 255 50
50 50 50
50 50 50
50 50 50
50 50 50
Punto blanco (sal) eliminado
📉 Simulador EP03_09: Filtro de la Mediana 3×3g = Mediana(Vecinos)
Inyecte ruido impulsivo (sal y pimienta) y pase el mouse sobre los píxeles internos del resultado para inspeccionar la ordenación del vector de vecindad y la eliminación del ruido.
Ruido de sal (255) y pimienta (0) — ~30% de los píxeles internos afectados
Imagen f — Con RuidoSal (255) y pimienta (0) visibles
Resultado g — Sin RuidoPase el mouse para inspeccionar
Vector de Vecindad 3×3 — OrdenadoPase el mouse sobre un píxel interno del resultado para visualizar
—
Leyenda:
Ventana 3×3
Píxel Central
Borde (Copiado)
Mediana
Ruido (Eliminado)
Pase el mouse sobre un píxel interno del resultado para ver el proceso de ordenación.
Figura 3.34: Simulador EP03_09: Filtro de la Mediana 3×3
%%writefile EP03_09.cpp// your solution
Overwriting EP03_09.cpp
TestSuite("EP03_09.cpp").run()
✔️ EP03_09.cases ya existe en casos/
📋 5 caso(s) cargado(s) de casos/EP03_09.cases
🔍 Probando C++: EP03_09.cpp
⚠️ EP03_09.cpp: archivo vacío (menos de 3 líneas). Pruebas omitidas.