PDI+VC · Ejercicio de Programación

EP03_07 — 🔍 Operador Laplaciano (w4) para Realce de Bordas

3.12.7 EP03_07 🔍 Operador Laplaciano (w4) para Realce de Bordas

En tomografías de alta resolución, la nitidez de los bordes entre tejidos es crítica para el diagnóstico. El operador Laplaciano se utiliza ampliamente en pipelines de preprocesamiento de imágenes médicas para resaltar automáticamente los contornos anatómicos antes de la segmentación, evitando la intervención manual del radiólogo.

Ver en Figura 3.32 una simulación de este EP.

3.12.7.1 📋 Directrices de Implementación

  1. Dimensiones: Leer los enteros \(L\) (filas) y \(C\) (columnas).
  2. Datos: Leer la matriz de píxeles \(f\).
  3. Laplaciano (w4): Para cada píxel interno \((i,j)\) con \(1 \le i < L-1\), \(1 \le j < C-1\), calcular:

\[\nabla^2 f(i,j) = f(i-1,j) + f(i+1,j) + f(i,j-1) + f(i,j+1) - 4 \cdot f(i,j)\]

  1. Realce: Calcular la imagen realzada:

\[g(i,j) = \text{clip}(f(i,j) - \nabla^2 f(i,j))\]

  1. Borde: Los píxeles en el borde se copian directamente: \(g(i,j) = f(i,j)\).
  2. Salida: Mostrar la matriz realzada \(L \times C\).

3.12.7.2 📌 Restricciones Computacionales

  • Kernel w4: \(\begin{bmatrix} 0 & 1 & 0 \\ 1 & -4 & 1 \\ 0 & 1 & 0 \end{bmatrix}\) — solo vecinos-4.
  • Saturación: \(\text{clip}(x) = \max(0, \min(255, x))\) aplicado al resultado del realce.
  • Sin redondeo: El Laplaciano utiliza solo sumas/restas de enteros.

3.12.7.3 🧠 Fundamentación Teórica

Región \(\nabla^2 f\) Efecto del Realce
Uniforme \(\approx 0\) Sin alteración
Borde creciente \(< 0\) Píxel aclarado
Borde decreciente \(> 0\) Píxel oscurecido

3.12.7.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 original.

Salida:

  • Matriz realzada \(L \times C\).

3.12.7.5 📌 Ejemplos

Entrada Salida Observación
3
3
0 0 0
0 100 0
0 0 0
0 0 0
0 255 0
0 0 0
Pico aislado: lap=−400, g=100−(−400)=500 → clip=255
3
3
50 50 50
50 50 50
50 50 50
50 50 50
50 50 50
50 50 50
Región uniforme: Laplaciano=0, sin alteración
📐 Simulador EP03_07: Operador Laplaciano (w4) g = f ∓ ∇²f

Seleccione la variante de realce y pase el mouse sobre los píxeles internos del resultado para inspeccionar la vecindad de 4 puntos y la ecuación del Laplaciano.

Variante:
① Imagen Original f Escalón con ruido leve
② Laplaciano ∇²f Bordes detectados (±128 shift)
③ Resultado g = f − ∇²f Pase el mouse para inspeccionar
Kernel w4 (4-Vecinos)
0
+1
0
+1
−4
+1
0
+1
0
∇²f = T + B + L + R − 4·f
Leyenda:
4-Vecinos del Kernel
Píxel Central
Borde (Copiado)
Pase el mouse sobre un píxel interno del resultado para detallar la ecuación.
Figura 3.32: Simulador EP03_07: Operador Laplaciano (w4) para Realce de Bordas
%%writefile EP03_07.py
# Código Python
Overwriting EP03_07.py
TestSuite("EP03_07.py").run()
✔️ EP03_07.cases ya existe en casos/
📋 5 caso(s) cargado(s) de casos/EP03_07.cases

🔍 Probando Python: EP03_07.py
⚠️ EP03_07.py: archivo vacío (menos de 3 líneas). Pruebas omitidas.