sabato 14 dicembre 2013

Gestione delle immagini da parte del computer



Modello per lo schermo RGB

Questo modello rappresenta il modo secondo il quale il computer 'vede' i colori, sappiamo che RGB sta per Red (rosso) Green (verde) e Blue (blu). Ciascun pixel dello schermo può essere 'acceso' come una piccola lampadina da un fascio di luce. Questo raggio può essere di una sfumatura di rosso, verde o blu in diverse gradazioni.

Secondo il modello RGB, ciascuna sfumatura di ciascuno dei 3 colori (rosso, verde e blu) e' rappresentata da un numero che va da 0 a 255. Per esempio, il colore nero e' rappresentato dal valore RGB '0 0 0' (R = 0, G = 0 e B = 0) mentre il colore bianco è rappresentato dal valore RGB '255 255 255' (R = 255 G = 255 e B = 255). In questo modo il modello RGB può rappresentare più di 16 milioni di colori, si tratta di un modello additivo, perchè controlla fasci di luce.

Mostriamo come esempio le coordinate RGB di alcuni colori, (rosso, verde, blu)


Nella prima linea abbiamo un verde saturo ma non alla sua massima luminosità, aggiungendo altri colori diminuisce la saturazione, se le coordinate sono uguali abbiamo dei grigi la cui luminosità aumenta all’aumentare delle coordinate.
Come si vede dall’ultima linea, all’aumentare delle coordinate il colore aumenta la sua luminosità ma, se le coordinate aumentano tutte e tre, diminuisce la sua saturazione (la sua purezza) infatti è come se si aggiungesse un grigio sempre più chiaro la cui intensità però aumenta.

Analisi di una immagine

Consideriamo una im-magine di cui prelevi-amo ed analizziamo un particolare: l’occhio.
Si vede che è formato da punti, ad ognuno dei quali corrispondo-no le tre coordinate di colore.


Ogni singolo pixel è autonomo slegato dagli altri elementi e caratterizzato dalla sua posizione nella matrice e dal suo colore. Questo colore è individuato da tre valori che indicano l'intensità di ogni singolo elemento. Se i punti sono sufficientemente piccoli il nostro sistema visivo percepisce l'insieme come una figura continua
 
Nell'immagine sono indicati i tre valori nel sistema RGB.

In questo modo nella memoria del computer possiamo conservare dei numeri che permettono di ricostruire l'immagine sul monitor. I numeri che caratterizzano i singoli pixel possono essere 3 o 4 e dipendono dallo spazio cromatico scelto per rappresentare l'immagine.

Ogni singolo pixel contiene una informazione molto limitata ma la matrice nel suo complesso ha delle informazioni più importanti legati all'andamento dei pixel contigui che formano il disegno o la sfumatura. I pixel contenuti in un quadratino di 5*5 a 300 dpi sono circa 350000 ed in un normale foglio A4 sono circa 9 milioni (i dati sono indicativi)


Modello per la stampante CMYK

Nel sistema CMY, Ciano, Magenta e Giallo (Cyan, Magenta, Yellow ) sono i colori complementari di Rosso, Verde e Blu. Quando vengono usati come filtri per sottrarre colore dalla luce bianca, questi colori sono chiamati primarie sottrattive
Nei dispositivi di stampa a colori infatti l’inchiostro colorato funziona come un filtro che sottrae alcune frequenze dal bianco del foglio

Usando questo modello per ottenere una superficie nera dobbiamo evitare che rifletta tutti i primari (rosso, verde e blu), e quindi colorarla di ciano, magenta e giallo alla massima intensità.

Nei dispositivi di stampa a colori si preferisce aggiungere ai tre inchiostri CMY del vero e proprio inchiostro nero (detto colore K) perchè mettendo insieme C, M e Y non si ottiene un nero puro poiché i tre inchiostri non sono filtri perfetti ed inoltre l’inchiostro nero costa meno di quelli colorati

Quindi, anziché usare parti uguali di C, M e Y si usa una tonalità di nero (blacK) e si ha così il cosiddetto modello CMYK


Gamut di monitor e stampante

Non ci si può aspettare che una periferica: monitor o stampante sia in grado di riprodurre tutti i colori del diagramma CIE dei colori reali che abbiamo presentato nel primo paragrafo di questo capitolo.
Ogni monitor, ed ogni stampante è in grado di riprodurre determinati colori che sono un sottoinsieme più o meno grande dello spazio CIE e, visto che le due periferiche usano una la sintesi additiva e l'altra sottrattiva, i loro gamut hanno caratteristiche diverse.

A titolo puramente indicativo sono stati indicati i gamut di un monitor e di una stampante generici, la loro ampiezza è determinata anche dalla qualità della periferica. Questo significa che ogni periferica è in grado di riprodurre solo i colori all'interno di questi gamut.
Come si vede i gamut hanno anche forma diversa, questo vuol dire che ci sono colori rappresentabili sul monitor e non riproducibili sulla stampante e viceversa.
La stampante per esempio è in grado di rappresentare dei gialli che il monitor non riproduce, questo in compenso di solito rappresenta una gamma di azzurri più ampia di quella della stampante.
Ovviamente questo si ripercuote anche sulla composizione dei colori che possono essere riprodotti in modo differente.

Gli unici colori che sono riprodotti allo stesso modo da monitor e stampante sono quelli che si trovano all'interno dell'intersezione dei due grafici.

Il fatto quindi che un certo colore non sia riprodotto in modo identico non dipende tanto dalla qualità delle periferiche quanto da un comportamento diverso di cristalli fluorescenti e inchiostri da stampa. Qualcosa si può fare ma queste diversità sono insite nelle caratteristiche dei mezzi.

Il Sistema Computer

Diamo una descrizione sommaria di cosa avviene nel sistema di rappresentazione delle immagini.

Memoria video
Una immagine, suddivisa in pixel, si trova registrata, con tre matrici di numeri, una per ogni colore, in una memoria video generalmente incorporata nell’adattatore video, separata dalla memoria principale e collegata al processore che vi trasferisce i dati.
Vi sono diverse tecnologie per la realizzazione di un monitor, questo deve riprodurre ogni singolo pixel prelevato dalla memoria video e rappresentarlo come puntino colorato in una precisa posizione.
L’insieme di questi puntini (pixel) formano l’immagine che viene aggiornata un certo numero di volte al secondo. Questa tecnica permette di visualizzare oggetti in movimento perché sfrutta la caratteristica della visione umana di permanenza dell’immagine, quindi se la frequenza di aggiornamento è abbastanza elevata noi percepiamo le successive immagini statiche come immagini in movimento continuo.
Con i dati prelevati dalla memoria video si imposta l’intensità dei fasci di elettroni che, seguendo il percorso visto, controllano, con varie tecnologie, la rappresentazione di punti ciascuno composto dalla giusta quantità di colori primari che ne determinano il colore.

La velocità con cui viene ridisegnato lo schermo è una caratteristica molto importante e viene chiamata frequenza di scansione (refresh).
Una persistenza elevata fa sì che la luminosità impieghi un lungo periodo di tempo prima di diminuire, al contrario dì quanto accade con una persistenza bassa. Se la luminosità diminuisce lentamente, si ha lo svantaggio che le immagini in movimento possono lasciare una scia durante lo spostamento ma il vantaggio di una bassa velocità dì ridisegno dello schermo.
I sistemi video dei PC attuali tendono ad avere una persistenza relativamente bassa e velocità di ridisegno superiori a 70 Hz.


Come il computer gestisce le immagini

Per usare una immagine in una applicazione questa deve essere rappresentata in memoria con dei codici numerici seguendo un formato standard.
Un'immagine è un'area di forma rettangolare variamente colorata. Per rappresentarla occorre suddividere l'area in una griglia di punti colorati, più fine sarà la griglia più fluida sarà la percezione dell'immagine da parte dell'occhio umano.
I punti non hanno dimensione nulla, la rappresentazione di una immagine comporta la digitalizzazione dell'immagine reale con conseguente perdita di qualità dal passaggio dalla forma analogica di rappresentazione ad una forma discreta.

L'operazione tramite la quale si suddivide un'immagine in punti è detta campionamento, i punti colorati sono detti pixel e la dimensione dei pixel determina la risoluzione dell'immagine.
La risoluzione è misurata in dpi (letto di-pi-ai sta per Dots Per Inch, punti per pollice). Maggiore è la risoluzione migliore è la qualità dell'immagine perché maggiore è il numero di punti catturati, tuttavia è anche maggiore è il numero di punti quindi maggiore è la dimensione del file risultante (l'occupazione di memoria, quadruplica con il raddoppiare della risoluzione).
Per le applicazioni multimediali fruibili via web il discorso della dimensione delle immagini è molto importante perché maggiore sarà il tempo di scaricamento via internet del medesimo.
Viene definito pixel aspect ratio la proporzione fra larghezza e altezza dei pixel, tale proporzione spesso è pari ad uno, cioè i pixel sono quadrati.

Considerare un'immagine come una semplice griglia di pixel è riduttivo, infatti ad ognuno di questi va assegnato un colore. L'assegnamento dei colori ai vari pixel (quantizzazione cromatica). Non è un'operazione da poco, perchè va riprodotta un'ampia gamma di colori che, come sappiamo, viene realizzata come sintesi additiva a partire dai tre colori elementari Rosso, Verde e Blu (RGB) ciascuno con la sua giusta intensità luminosa.

La scala di intensità di ciascuna componente non può essere indicata con numeri che vanno 0, che indica l'assenza di quel colore, a 255 che rappresenta il livello massimo di intensità. Ogni colore quindi può essere rappresentato da tre numeri compresi fra 0 e 255; cioè da tre numeri di 8 bit, in totale occorrono 24 bit per ogni pixel.
Per ridurre la dimensione del file che rappresenta l'immagine si può agire sulla risoluzione con una griglia di quadratini più grandi o sulla risoluzione cromatica, riducendo i livelli possibili per ciascun colore primario in entrambi i casi con effetti negativi sulla accuratezza della rappresentazione.
Un metodo alternativo consiste nel definire una tavolozza (palette) di colori predefiniti, ad esempio 256, ciascuno identificato da un numero, l'uso di questa tecnica (lookup table) consente di ridurre drasticamente la dimensione del file.

La maggior parte dei programmi gestisce i tre seguenti formati di rappresentazione ciascuno contenente tre informazioni:
La notazione esadecimale viene usata dal linguaggio html nella realizzazione di siti web, per indicare il colore di sfondo di pagine e tabelle o il colore del testo.
Si noti che al numero 184, corrisponde il numero b8 in notazione esadecimale.
Il nero (0 0 0) è indicato con #000000 ed il bianco 255 255 255, viene indicato in esadcimale #ffffff quindi vengono usate per il bianco e per il nero. Il vantaggio pratico della rappresentazione esadecimale rispetto a quella in base dieci è che nella prima tutti i colori sono rappresentati da sei cifre, mentre nella seconda possono servire anche 9 cifre.

Formato
esempio

RGB
0 184 168
Intensità delle singole componenti espresse con numeri decimali compresi tra 0 e 255
Hex triplet
#00b8a8
Le intensità sono espresse in numeri esadecimali, dopo il diesis ogni coppia di cifre rappresenta uno dei tre colori primari.
Nel sistema esadecimale due cifre permettono di rappresentare numeri tra 0 e 255
HSV:
174 100 72
I tre numeri (compresi tra 0 e 255) rappresentano i valori di Colore, Saturazione Luminosità

Nel caso di l'immagini in bianco e nero occorre distinguere immagine B/W con solo due elementi e immagine a livelli di grigio. Nel primo caso la palette contiene solo due elementi: il bianco ed il nero, quindi basta un solo bit per identificare il colore di un pixel. Nel secondo sono previste un certo numero di sfumature intermedie fra i due (256 elementi in tutto).

Spazio di colore sRGB


La maggior parte dei computer usano uno spazio di colore RGB ridotto che viene chiamato sRGB questo sistema è stato introdotto da HP e Microsoft perché approssima molto bene la gamma cromatica (il gamut) delle più comuni periferiche digitali (monitor, stampanti ecc.)
Sostenuto da due colossi del genere è divenuto poi lo standard per la visualizzazione delle immagini nel web anche se include poco più del 30% dei colori visibili con dei seri limiti sulle tonalità di azzurro e verde.

Altri spazi come AdobeRGB sono più completi e visualizzano meglio verde scuro e blu per basse luminosità e anche giallo e rosso alle alte luminosità. Lo spazio sRGB comunque è un buon compromesso con una qualità accettabile che ha permesso una diffusione eccezionale di periferiche economiche accessibili ad una grande quantità di utenti.

Il web e la maggioranza delle stampanti ad uso privato utilizzano quindi lo spazio colori sRGB, solo nel caso di una stampa professionale viene supportato il profilo AdobeRGB e probabilmente solo in futuro si andrà verso un adeguamento ad uno spazio più ampio da parte di tutte le tecnologie digitali.
Adobe RGB, proprio a causa della sua gamma più estesa rispetto a sRGB, non può essere riprodotto correttamente dalla maggior parte dei monitor ed è più apprezzabile per il suo effetto cromatico solo su carta stampata.


Lo spazio colore sRGB, con una gamma più ristretta rispetto ad Adobe RGB, permette di ottenere immagini più sature ma con minori sfumature, apparentemente più "belle" nella visione a monitor, l’altro invece permette un maggior numero di sfumature, e rappresenta con maggiore precisione i colori e le tonalità dell'incarnato (il colore della pelle nelle fotografie).

Nel grafico a lato sono messi a confronto i due spazi: Adobe RGB ed sRGB e si vede che il primo copre un'area molto più ampia (in particolare nel verde) rispetto al secondo.

Si possono visualizzare i colori primari rappresentati da GeoGebra, all'indirizzo:
http://www.geogebratube.org/material/show/id/62767


Nessun commento:

Posta un commento