Indice |
Premessa
L'articolo che segue vuole essere, senza alcuna pretesa di rigore scientifico e di precisione assoluta, in quanto non ne possiedo le competenze, una trattazione breve e spero utile dell'argomento della codifica delle immagini nell'ambito dell'informatica.
L'intento dell'articolo è di fornire dei concetti utili per lo studio (come nel caso del sottoscritto) o più in generale per una lettura disinteressata.
Buona lettura.
Cosa è un'immagine?
Un'immagine è una informazione continua in tre dimensioni, che si caratterizzano in:
- due dimensioni spaziali;
- una dimensione colorimetrica.
Per codificarle è necessario ricorrere a tre discretizzazioni.
Quelle spaziali (in numero di due) riducono l'immagine ad una matrice di punti che sono denominati pixel (termine derivante da picture element); la discretizzazione colorimetrica limita l'insieme di colori che ogni pixel può assumere ad un definito sottoinsieme.
Possiamo dunque affermare che l'immagine digitale e è una matrice bidimensionale di numeri; ognuno di essi è la misura di una proprietà fisica (colore) di un'area elementare della scena rappresentata.
E' possibile generare un'immagine digitale mediante le seguenti modalità:
- acquisizione tramite scanner da immagini analogiche come le fotografie o le diapositive, ad esempio;
- da scene del mondo reale "catturate" tramite camere digitali;
- da applicazioni di grafica.
Il processo di campionamento e la risoluzione
In sostanza le immagini digitali riproducono la scena ma la dividono in una griglia fatta di aree delle quali viene misurata la luminosità o il colore.
A ciascuna area corrisponde un pixel la cui forma si discosta dalla superficie ripresa.
Relativamente alle caratteristiche della maggior parte dei dispositivi elettronici di acquisizione e di visualizzazione delle immagini la forma dei pixel è ellittica; in particolare l'ellisse ha l'asse verticale più lungo più lungo di quello orizzontale. Il rapporto tra i due assi è denominato rapporto di aspetto e nelle applicazioni grafiche permette di correggere eventuali deformazioni dovute a differenti rappresentazioni di uno stesso segmento nelle due direzioni ortogonali.
Il processo di campionamento applicato ad un'immagine consiste nel far corrispondere una porzione dell'immagine reale ad ogni pixel. Tanto più la dimensione dei pixel è piccola tanto minore è l'approssimazione tra immagine reale e digitale.
Il numero di pixel per pollice (le dimensioni di un'immagine sono misurate in pollici) è detto risoluzione (dpi-dot per inch). La dimensione dell'immagine è espressa anche indicando in maniera separata il numero di pixel orizzontali e il numero di pixel verticali, ad esempio:

Di solito la risoluzione orizzontale è uguale a quella verticale.
Inoltre ad ogni pixel è assegnato un indirizzo che ne sancisce le coordinate verticali ed orizzontali, cioè il cosiddetto bit mapping.
La risoluzione è correlata a quanto sono fitti i punti che visualizzano l'immagine: maggiore è la risoluzione dell'immagine, maggiore è la possibilità di riuscire a distinguere i dettagli che sono presenti in essa.
I pixel contenuti all'interno di una immagine digitale hanno le stesse dimensioni e la loro dimensione è determinata dalla risoluzione alla quale è digitalizzata l'immagine.
In parole semplici, se la risoluzione è di 600 dpi, allora ciascun pixel misura 1/600 pollice.
Ad ogni pixel sono associati 1 bit che misurano caratteristiche del colore. Con 1 bit sono solo 21 le sfumature di colore rappresentate degli infiniti valori della realtà; tutte le sfumature intermedie sono approssimate con il valore di luminosità più prossimo tra quelli codificati.
Dato che la porzione di immagine che è associata ad un unico pixel ha una luminosità uniforme, senza che i dettagli in tale porzione possano essere distinti, minore è il numero dei livelli di quantizzazione e minore è la qualità dell'immagine.
La profondità di colore è la misura della capacità di rappresentare o di distinguere varie sfumature di colore. Un'immagine che è rappresentata con una profondità di colore di 6 bit, riesce a distinguere tra 64 livelli di colore e all'aumentare del numero di bit, aumenta anche il livello di dettaglio.
Se l'immagine è in bianco e nero è necessario associare un 1 ai pixel neri e uno 0 ai pixel bianchi. Per immagini a livelli di grigio si usano 4 o 8 bit, per quelle a colori 8, 24, 32 bit.
Si parla di colori veri quando ad un pixel corrispondono 24 bit per un totale di 16.7Mega colori diversi; con 48 bit oggi è gestita l'alta definizione.
Va detto inoltre che la rappresentazione accurata di una immagine è dipendente da:
- numero di pixel;
- profondità di colore.
Inoltre una elevata qualità comporta anche una elevata quantità di informazione fornita dal prodotto:

La misura del colore
La misura del colore è al centro della colorimetria.
I metodi per formare il colore sono due:
- sintesi del colore additiva;
- sintesi del colore sottrattiva.
Nella prima tipologia il colore può essere ottenuto con la miscelazione di gradazioni di tre colori primari:
- rosso;
- verde;
- blu.
Proprio per i colori impiegati il modello su cui si basa è detto RGB (red green blue).
Unendo il colore rosso al verde si ottengono i colori che vanno dal giallo all'arancio; unendo il rosso e il blu si ottengono i colori che vanno dal porpora al viola. Sommando i colori primari alla loro massima potenza si ottiene il bianco e per tale motivo si parla di modello additivo.
Nella seconda tipologia il modello adoperato è detto CMY (cyan, magenta, yellow, cioè ciano, magenta, giallo) ed è adoperato perlopiù nei processi di stampa su carta perché si basa sulla capacità dell'inchiostro di assorbire la luce. Quando la luce bianca colpisce gli inchiostri, alcune lunghezze d'onda visibili sono assorbite, altre sono riflesse e quindi viste. Per tale motivo si parla di modello sottrattivo. Nonostante il nero possa essere derivato dalla combinazione di ciano, magenta e giallo nelle stampanti, si usa anche l'inchiostro nero e il modello è denominato CMYK.
In ambedue i casi i bit associati ai pixel di una immagine esprimono la misura dei tre colori base. In caso di profondità pari a 24 bit e codifica RGB sono assegnati 8 bit per la percentuale di rosso, 8 bit per la percentuale di verde e 8 bit per la percentuale di blu. Dato che si utilizzano 3 byte per rappresentare ogni pixel, una immagine a colori di 100 X 100 pixel avrà bisogno di 100 X 100 X 3 byte per essere rappresentata.
Palette
Al fine di ridurre la dimensione della rappresentazione si ricorre ad un sistema di codifica dei colori tramite una tavolozza di colori, denominata anche palette o CLUT (Color Look-Up Table).
La palette è una codifica dei colori, di solito di 8 bit per pixel, che permette di scegliere 256 colori diversi tra i milioni esistenti. Essa si basa sull'ipotesi che in un'immagine sono difficilmente presenti contemporaneamente 16 milioni di colori diversi.
In pratica consiste nell'adoperare una tabella numerica in cui sono codificati i soli colori presenti effettivamente nell'immagine.
Ciascun pixel verrà codificato con un numero limitato di bit, da 4 a 8 bit, che identifica la posizione in tabella del colore da usare.
i colori della palette variano a seconda dell'immagine e dipendono dal suo contenuto; infatti la tavolozza contiene solo il sottoinsieme dei colori che possono essere rappresentati che compare nella foto. Possono essere anche modificati in funzione dell'utilizzo dell'immagine. Inoltre se si cambia la CLUT ad una immagine variano ovviamente anche le sue sfumature di colore. In tale codifica ogni immagine è accompagnata dalla propria palette.
I formati di rappresentazione
Il bitmap o raster è il formato di rappresentazione di immagini per punti; è adoperato per riprodurre le fotografie, i dipinti e le immagini per cui non è importante la individuazione degli elementi riprodotti. Il pixel e le sue caratteristiche costituisce l'elemento di riferimento nelle immagini bitmap.
Il pixel, preso singolarmente, possiede un contenuto informativo limitato; se invece viene considerato in combinazione all'insieme dei pixel adiacenti si possono ottenere delle caratteristiche maggiormente significative.
I formati di rappresentazione maggiormente diffusi sono:
- TIFF (Tagged Image File Format): consente di gestire nelle modalità bianco e nero, scala di grigio, colori RGB, colori CMYK le immagini. Prevede un sistema di compressione detto LZW, cioè Lempel Ziv Welch, che non elimina alcuna informazione e non degrada la qualità dell'immagine e produce delle buone riduzioni della quantità di bit della rappresentazione;
- EPS (Encapsulated PostScript File): è adoperato soprattutto per i disegni vettoriali e si è diffuso come standard anche per le immagini raster e deve la sua importanza al linguaggio PostScript;
- JPEG (Joint Photographic Expert Group): nacque con lo scopo di standardizzare i diversi formati per immagini con compressione di qualità. Consente di poter scegliere il livello di compressione e di modulare il rapporto tra la qualità dell'immagine e la quantità di bit. La compressione è con perdita e si possono raggiungere anche livelli di compressioni elevati (fino a 20:1);
- GIF (Graphics Interchange Format): è diffuso in Internet per rappresentare gli elementi grafici come pulsanti, scritte, loghi. Consente di rendere lo sfondo degli oggetti trasparente, in modo da integrarli nelle pagine web. E' un formato che possiede poca quantità di bit;
- PNG (Portable Network Graphics): inventato per sostituirsi a GIF nella trasmissione delle immagini in rete; gestisce la trasparenza dello sfondo e non supporta l'animazione;
- BMP (Bitmap): sviluppato in modo tale che sia compatibile con le applicazioni del mondo Window per immagini in b/n, in scala di grigi, in scala di colore; non prevede l'applicazione di metodi di compressione per i quali la quantità di bit resta consistente.
La rappresentazione vettoriale
Quando le immagini presentano delle caratteristiche geometriche ben definite, è possibile ricorrere ad una tecnica più efficiente per codificare le figure. Quando si ha a che fare con la progettazione architettonica, meccanica o elettronica il disegno da memorizzare può essere scomposto in degli elementi base come una linea o un arco di circonferenza procedendo a descrivere gli elementi che compongono la figura in termini matematici. <br7>Quindi gli oggetti matematici che compongono il disegno come i punti, le linee, le rette, le curve, i cerchi, le ellissi, i rettangoli, sono rappresentati usando formule matematiche e parametri che li descrivono:
- le coordinate per un punto;
- l'equazione per una retta;
- le coordinate dei quattro vertici per un rettangolo;
- le coordinate del vertice e la dimensione del raggio per la circonferenza.
Si parla quindi di rappresentazione vettoriale.
Un vantaggio delle immagini vettoriali rispetto alle raster è la minore quantità di bit impiegata per la loro rappresentazione e la possibilità di essere modificate nelle dimensioni evitando ogni distorsione.
Le immagini bitmap, invece, se ridimensionate rispetto alle dimensioni originali tendono a modificarsi, risultando sfocate o distorte.
Inoltre nelle rappresentazioni vettoriali è che gli oggetti che compaiono nella figura mantengono la loro identità come caratteristiche descrittive e quindi è più facile modificare l'immagine come accade di solito nella progettazione.
Viene da sé che la rappresentazione vettoriale è sconsigliata per rappresentare immagini che sono composte da variazioni di colore continue, come le fotografie.
Bibliografia
Alla scoperta dei fondamenti dell'informatica. Un viaggio nel mondo dei BIT - Chianese, Moscato, Picariello.