EP03_03 — 🎭 Inversión de Imagen (Negativo Fotográfico)
3.12.3 EP03_03 🎭 Inversión de Imagen (Negativo Fotográfico)
En radiología, las imágenes de rayos X se visualizan tradicionalmente en negativo: los huesos aparecen en negro sobre fondo blanco. La operación de negativo fotográfico se aplica rutinariamente en PACS (Picture Archiving and Communication Systems) para facilitar la detección de fracturas y densidades óseas.
Dimensiones: Leer los enteros \(L\) (filas) y \(C\) (columnas).
Datos: Leer los valores enteros de la matriz original.
Mapeo: Para cada píxel \(p\), calcular el negativo:
\[p' = 255 - p\]
Salida: Mostrar la matriz resultante de \(L \times C\).
3.12.3.2 📌 Restricciones Computacionales
Sin necesidad de recorte: El resultado de \(255 - p\) con \(p \in [0, 255]\) siempre está \(\in [0, 255]\).
Tipo entero: La salida debe ser valores enteros.
Equivalencia lógica: La operación es idéntica al NOT bit a bit (mm.bnot) en imágenes de 8 bits.
3.12.3.3 🧠 Fundamentación Teórica
Píxel Original \(p\)
Píxel Negativo \(p'\)
Observación
0 (negro)
255 (blanco)
Inversión total
128 (gris medio)
127 (gris medio)
Valor central
255 (blanco)
0 (negro)
Inversión total
3.12.3.4 📦 Especificación de Entrada y Salida (VPL)
Entrada:
Línea 1: Entero \(L\).
Línea 2: Entero \(C\).
Líneas siguientes: Elementos enteros de la matriz original.
Salida:
Matriz negativa en \(L\) filas y \(C\) columnas.
3.12.3.5 📌 Ejemplos
Entrada
Salida
Observación
1
4
0 128 200 255
255 127 55 0
Inversión de cada píxel
2
2
10 20
30 40
245 235
225 215
Matriz 2x2 invertida
🎭 Simulador EP03_03: Negativo Fotográfico (Inversión)p' = 255 − p
Observe la inversión complementaria de intensidad: los tonos oscuros se vuelven claros y los tonos claros se vuelven oscuros restando cada píxel del valor máximo de 255.
Entrada Original (p)
Negativo (p' = 255 − p)
Fórmula aplicada: p' = 255 − p
Figura 3.28: Simulador EP03_03: Inversión de Imagen — Negativo Fotográfico (p’ = 255 − p)
%%writefile EP03_03.py# Código Python
Overwriting EP03_03.py
TestSuite("EP03_03.py").run()
✔️ EP03_03.cases ya existe en casos/
📋 5 caso(s) cargado(s) de casos/EP03_03.cases
🔍 Probando Python: EP03_03.py
⚠️ EP03_03.py: archivo vacío (menos de 3 líneas). Pruebas omitidas.