EP01_04 — 🖼️ Lettura e Informazioni di un’Immagine in Matrice
1.17.4 EP01_04 🖼️ Lettura e Informazioni di un’Immagine in Matrice
In questa attività, devi scrivere un programma che elabori un’immagine digitale rappresentata come una matrice di pixel in scala di grigi.
Leggi due interi L e C, che rappresentano il numero di righe e di colonne.
Leggi i L * C valori interi che compongono la matrice dell’immagine (ogni valore tra 0 e 255).
Calcola e stampa le seguenti informazioni:
Il numero di righe.
Il numero di colonne.
Il valore del pixel più grande (Massimo).
Il valore del pixel più piccolo (Minimo).
La Media aritmetica di tutti i pixel.
📌 Importante:
L’output deve seguire esattamente il formato etichettato (es: Righe: X).
Il valore della media deve essere formattato con due cifre decimali.
Vedi un simulatore interattivo per questa domanda nella Figura 1.14 (griglia interattiva per la visualizzazione delle intensità e dei calcoli in tempo reale).
1.17.4.1 🧠 Perché è importante? – L’Immagine come Dato
Ogni immagine digitale è, in fondo, una struttura dati. In scala di grigi a 8 bit, ogni pixel è un valore scalare. Estrarre statistiche di base è il primo passo per:
Operazione
Utilità Pratica
Massimo/Minimo
Identificare se l’immagine è “slavata” (basso contrasto) o saturata.
Media
Calcolare la luminosità globale della scena per regolazioni dell’esposizione.
Normalizzazione
Ridimensionare i valori in intervalli come \([0, 1]\) nelle reti neurali.
1.17.4.2 📋 Attività (specifica per VPL)
Input:
La prima riga contiene l’intero L (righe).
La seconda riga contiene l’intero C (colonne).
Le righe successive contengono gli elementi della matrice.
Output:
Cinque righe formattate secondo l’esempio:
Righe: L
Colonne: C
Max: V
Min: V
Media: V.VV
1.17.4.3 📌 Esempi
Input
Output
Osservazione
2
3
0 128 255
50 100 200
Righe: 2
Colonne: 3
Max: 255
Min: 0
Media: 122.17
Immagine piccola ad alto contrasto
📊 Simulatore EP01_04: Statistiche Locali dei PixelMatrice 5x5
Fai clic su qualsiasi pixel della matrice per incrementare il suo livello di grigio (passo +51) oppure usa le azioni predefinite qui sotto per osservare i limiti e la media globale.
Media Globale (µ)
0.00
Valore Max
0
Valore Min
0
Figura 1.14: Simulatore EP01_04: Statistiche dei pixel in matrice discreta 5x5
%%writefile EP01_04.cpp// your solution
Overwriting EP01_04.cpp
TestSuite("EP01_04.cpp").run()
✔️ EP01_04.cases esiste già in casos/
📋 5 caso/i caricato/i da casos/EP01_04.cases
🔍 Test di C++: EP01_04.cpp
⚠️ EP01_04.cpp: file vuoto (meno di 3 righe). Test saltati.