PDI+VC · Ejercicio de Programación

EP01_05 — 🔄 Negativo de una Imagen en Tonos de Gris

1.17.5 EP01_05 🔄 Negativo de una Imagen en Tonos de Gris

En esta actividad, se debe escribir un programa que calcule el negativo de una imagen digital.

  • Lea dos enteros L y C, que representan el número de filas y columnas.
  • Lea los valores enteros que componen la matriz de la imagen.
  • Para cada píxel, aplique la transformación de inversión:

\[pixel_{negativo} = 255 - pixel_{original}\]

  • Imprima la matriz resultante, manteniendo el formato original (L filas y C columnas).

📌 Importante:

  • Los valores de cada fila en la salida deben estar separados por un espacio en blanco.
  • La salida debe contener solo los números de la matriz resultante.
  • Consulte un simulador interactivo para esta cuestión en la Figura 1.15 (comparación en tiempo real entre la matriz original y su negativo).

1.17.5.1 🧠 ¿Por qué es importante? – Inversión de Intensidad

El negativo es una transformación lineal básica que invierte la escala de brillo. Es una herramienta esencial para que el ojo humano identifique detalles claros que están “ocultos” en fondos más oscuros, siendo ampliamente utilizada en:

Aplicación Utilidad
Imágenes Médicas Mejora la visualización de anomalías en tejidos densos (ej: Rayos-X).
Astronomía Destacar galaxias y nebulosas tenues contra el vacío del espacio.
Artes Digitales Efectos estéticos y preparación de máscaras de selección.

1.17.5.2 📋 Tarea (especificación para VPL)

Entrada:

La primera línea contiene el entero L.

La segunda línea contiene el entero C.

Las líneas siguientes contienen los elementos de la matriz.

Salida:

La matriz invertida con L filas y C columnas.

1.17.5.3 📌 Ejemplos

Entrada Salida Observación
2
3
0 128 255
50 100 255
255 127 0
205 155 55
Donde era 0 (negro) se convierte en 255 (blanco)
🌓 Simulador EP01_05: Transformación de Negativo de Imagen p' = 255 - p

Haz clic en los píxeles de la matriz Original (p) para cambiar sus niveles de gris (paso de +51) y observa el efecto de la inversión complementaria en la matriz Negativo (255 - p).

ORIGINAL (p)
NEGATIVO (255 - p)
💡 La transformación de negativo mapea tonos oscuros (cercanos a 0) a tonos claros (cercanos a 255) y viceversa, siendo útil para resaltar detalles oscuros sobre fondos claros.
Figura 1.15: Simulador EP01_05: Transformación de Negativo de Imagen (Inversión de Intensidad)
%%writefile EP01_05.cpp
// your solution
Overwriting EP01_05.cpp
TestSuite("EP01_05.cpp").run()
✔️ EP01_05.cases ya existe en casos/
📋 7 caso(s) cargado(s) de casos/EP01_05.cases

🔍 Probando C++: EP01_05.cpp
⚠️ EP01_05.cpp: archivo vacío (menos de 3 líneas). Pruebas omitidas.