Fai clic sui pixel della matrice Originale (p) per modificarne i livelli di grigio (passo di +51) e osserva l'effetto dell'inversione complementare sulla matrice Negativo (255 - p).
1.17.5 EP01_05 🔄 Negativo di un’Immagine in Ton di Grigio
In questa attività, si deve scrivere un programma che calcoli il negativo di un’immagine digitale.
- Leggere due interi L e C, che rappresentano il numero di righe e colonne.
- Leggere i valori interi che compongono la matrice dell’immagine.
- Per ogni pixel, applicare la trasformazione di inversione:
\[pixel_{negativo} = 255 - pixel_{originale}\]
- Stampare la matrice risultante, mantenendo il formato originale (L righe e C colonne).
📌 Importante:
- I valori di ciascuna riga nell’output devono essere separati da uno spazio bianco.
- L’output deve contenere solo i numeri della matrice risultante.
- Vedere un simulatore interattivo per questa questione nella Figura 1.15 (confronto in tempo reale tra la matrice originale e il suo negativo).
1.17.5.1 🧠 Perché è importante? – Inversione di Intensità
Il negativo è una trasformazione lineare di base che inverte la scala di luminosità. È uno strumento essenziale per l’occhio umano per identificare dettagli chiari “nascosti” in sfondi più scuri, ed è ampiamente utilizzato in:
| Applicazione | Utilità |
|---|---|
| Immagini Mediche | Migliora la visualizzazione di anomalie in tessuti densi (es. Radiografie). |
| Astronomia | Evidenziare galassie e nebulose deboli contro il vuoto dello spazio. |
| Arti Digitali | Effetti estetici e preparazione di maschere di selezione. |
1.17.5.2 📋 Compito (specifica per VPL)
Input:
La prima riga contiene l’intero L.
La seconda riga contiene l’intero C.
Le righe successive contengono gli elementi della matrice.
Output:
La matrice invertita con L righe e C colonne.
1.17.5.3 📌 Esempi
| Input | Output | Osservazione |
|---|---|---|
| 2 3 0 128 255 50 100 255 |
255 127 0 205 155 55 |
Dove c’era 0 (nero) diventa 255 (bianco) |
🌓 Simulatore EP01_05: Trasformazione del Negativo di Immagine
p' = 255 - p
ORIGINALE (p)
NEGATIVO (255 - p)
💡
La trasformazione del negativo mappa i toni scuri (vicini a 0) su toni chiari (vicini a 255) e viceversa, essendo utile per evidenziare dettagli scuri su sfondi chiari.
%%writefile EP01_05.cpp
// your solutionOverwriting EP01_05.cpp
TestSuite("EP01_05.cpp").run()✔️ EP01_05.cases esiste già in casos/
📋 7 caso/i caricato/i da casos/EP01_05.cases
🔍 Test di C++: EP01_05.cpp
⚠️ EP01_05.cpp: file vuoto (meno di 3 righe). Test saltati.