In questo secondo articolo andremo ad analizzare come l’immagine viene rappresentata all’interno dei computer. Questo passaggio risulta essere fondamentale per capire al meglio come le reti neurali analizzano le immagini.
Rappresentazione digitale dell’immagine
Una immagine, all’interno di un computer, non è altro che una matrice di numeri. Ogni “quadrato” della matrice di numeri è un pixel (crasi di picture element) e sulla base di come viene rappresentato va a definire una serie di proprietà dell’immagine.
Ad esempio, in Figura 1, possiamo vedere un’immagine in bianco e nero. La sua rappresentazione viene fatta con una matrice 4x4 in cui il bianco viene rappresentato con l’1 e il nero con lo 0. La sua profondità di colore è quindi rappresentata da 1 solo bit, mentre la sua risoluzione è data dal numero di pixel presenti, quindi 16. Inoltre, utilizzando solo il bianco e nero, in questo caso abbiamo solamente un canale colore. In Figura 2 invece possiamo vedere un’immagine in scala di grigi, che rispetto alla Figura 1 presenta una profondità colore di 8 bit, che quindi permette di rappresentare 255 colori, rispetto ai 2 (bianco e nero) rappresentabili prima.
Per poter inserire i colori nelle immagini, bisogna associare, ad ogni matrice, un canale colore (che dipende dallo spazio colore, di cui parleremo più avanti) . In figura 3 ad esempio, abbiamo due canali colore, uno rosso ed uno blu.
Una immagine acquisita con una camera moderna ha qualche milione di pixel (i famosi MegaPixel), una profondità colore di almeno 16/24 bit e 3 canali colore (solitamente RGB - Red Green Blue). Ad esempio possiamo vedere la Figura 4, contenente più di 6 milioni di pixel, che verrà rappresentata da 3 matrici 2453x2453.
Per completare la descrizione delle modalità di rappresentazione di una immagine è necessario parlare degli spazi colore. Lo spazio colore “è un modello matematico astratto che descrive un modo per rappresentare i colori come combinazioni di numeri, tipicamente come tre o quattro valori detti componenti colore” [Wikipedia].
Nella figura 3 abbiamo usato uno spazio colore formato da R e G, mentre nella figura 4 abbiamo utilizzato lo spazio colore RGB. Possiamo elencare 3 spazi colore tra i più interessanti:
Per maggiori dettagli sugli spazi colore vi rimandiamo a https://www.opticallimits.com/colorimetric-systems-and-color-models
Nel prossimo articolo inizieremo invece a parlare di Image Processing vero e proprio, parlando di binarizzazione e dei kernel per applicare filtri alle immagini.