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).
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
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.
%%writefile EP01_05.cpp
// your solutionOverwriting 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.