rappresentazione delle immagini -...

44
Rappresentazione delle Immagini 2 Come si rappresenta un’immagine z Un’immagine e’ di norma rappresentata come un raster, cioe’ una matrice di elementi discreti, detti pixel, ciascuno di un colore. z Memorizzare un raster significa, in prima approssimazione, memorizzare la il colore di ciascun pixel z Esistono diversi modi di memorizzare un’immagine raster, corrispondenti a diversi formati di file immagine BMP, TIFF, JPEG, GIF, PNG, … z I formati differiscono per il modo in cui si memorizzano i colori dei pixel

Upload: others

Post on 31-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

Rappresentazionedelle Immagini

2

Come si rappresenta un’immagine

Un’immagine e’ di norma rappresentata come un raster, cioe’una matrice di elementi discreti, detti pixel, ciascuno di un colore.

Memorizzare un raster significa, in prima approssimazione, memorizzare la il colore di ciascun pixel

Esistono diversi modi di memorizzare un’immagine raster, corrispondenti a diversi formati di file immagine

– BMP, TIFF, JPEG, GIF, PNG, …

I formati differiscono per il modo in cui si memorizzano i colori dei pixel

Page 2: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

3

Come si memorizza un’informazione di colore

La luce e’ un’onda elettromagnetica, che colpisce ilfondo della retina attraverso la pupilla

Il fondo della retina e’ popolato di coni, che sonoparticolarmente sensibili a certe frequenze di luce– Ci sono tre tipi di coni, sensibili in intervalli di frequenze

differenti (ma non disgiunti)

4

Come si memorizza un’informazione di colore

L’apparato visivo (occhi+cervello) non e’ in grado di distinguere la composizione di luce (metameria)

Page 3: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

5

Sintesi Additiva di Colore

I colori rappresentabili su un monitor sono riprodotti mescolando luce rossa, verde, blu (RGB)

Per descrivere un dato colore, basta quindi stabilire l’intensita’ di luce dei tre colori che lo compongono

Sperimentalmente, si nota che 256 (=28) sfumature di ciascuno dei 3 colori bastano per comporre un numero sufficiente di colori

Nero (0,0,0)

Rosso (255,0,0)

Verde (0,255,0)

Blu (0,0,255)

Grigio

(x,x,

x)

Giallo (255,255,0)

Bianco (255,255,255)

Ciano (0,255,255)

Magenta (255,0,255)

6

Memorizzazione del colore

Diretta (true color)– Memorizzo il colore (RGB) di ciascuno dei pixel

– 24 bit (=3 byte) per pixel

Indicizzata (palette)– Memorizzo una palette di n colori RGB (3 byte/colore)

e

– Per ogni pixel, memorizzo l’indice della riga della palette che gli corrisponde

Page 4: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

7

Memorizzazione del colore (2)

Casi particolari

– B/N (monocromatica): un bit per stabilire ilcolore di un pixel (1=bianco, 0=nero)

– scala di grigi (grayscale): un numero per rappresentare la percentuale di nero di un pixel (spesso 256 livelli di grigio, 0=bianco, 127=grigio medio, 255=nero). 1 byte per pixel

8

Quanti colori nell’immagine?

Pochi colori (e.g., disegno)– Tipico: <=16, 256 colori

– Palette piccola

– Indice su pochi bit (4, 8)

Molti colori (e.g., foto)– Tipico: >=1000 colori

– Rappresentazione indicizzatapoco (o per niente) conveniente

– Meglio true color

Page 5: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

9

Esempi

Immagine 640x480 pixel, 256 colori– colore di ogni pixel rappresentabile su 8 bit (=1 byte)

– Dimensione dell’immagine: 648x480= 307200 pixel

– Per la matrice sono necessari 307200 bytes

– Dimensione della palette: (almeno) 3*256=768 byte (trascurabile)

– Dimensione probabile del file in memoria: intorno a 308000 bytes.

Immagine 512x384 pixel, 65536 colori– colore di ogni pixel rappresentabile su 16 bit (=2 byte)

– Dimensione dell’immagine: 512x384 = 196608 pixel

– Per la matrice sono necessari 393216 bytes

– Dimensione della palette: (almeno) 3*65536= 196608 byte (confrontabile con la dimensione della matrice)

– Dimensione probabile del file in memoria: intorno a 589824 bytes.

10

Formati delle immagini

Non compresso– Bitmap (BMP)

Compresso– Graphic Interchange Format (GIF)

– Portable Network Graphics (PNG)

– Joint Photographic Experts Group (JPEG)

Tagged Image File Format (TIFF)– Formato “generico”: supporta sia immagini compresse che non compresse

Ciascun formato può consentire di memorizzare immagini con n. di colori diverso

– Bitmap a 16M colori (true color), a 256 colori, …

Page 6: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

11

Formato Bitmap

Consente di salvare immagini– True color

– Con palette a 16, 256 colori

– B/N

Esempio: immagine 100x100 pixel

Bytes per pixel Dimensione (minima)

palette

Dimensione matrice in byte

Dimensione totale file (attesa)

Dimensione totale file

(osservata)

True color 3 - 30000 30000 30054

256 colori 1 768 bytes 10000 10768 11078

16 colori 1/2 48 bytes 5000 5048 5318

B/N 1/8 - 1250 1250 1662

12

Compressione delle immagini

Immagine RxC pixel in true color, con un pixel rossoin alto a sinistra– Ho davvero bisogno di RxCx3 byte per rappresentare

l’informazione associata a questa immagine?

– Mi costerebbe meno rappresentare l’informazione come:“{1; rosso}, {(RxC)-1; bianco}”

Run Length Encoding (RLE), usato ad es. nei faxC

R

•Formato compresso di rappresentazione:•Meno spazio occupato sul disco•Necessita’ di decomprimere l’immagineper poterla visualizzare

Page 7: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

13

Due tipi di compressione

Lossless (senza perdita)- dall’immagine (dall’informazione) compressa si ricava in

modo esatto l’informazione originale (es. RLE)

- Obbligatorio per tutto cio’ che viene manipolato da un computer, ad esempio programmi o dati (un file di Word)

Lossy (con perdita)- dall’immagine (dall’informazione) compressa si ricava

un’informazione simile a quella originale

– In cio’ che e’ oggetto di percezione umana (musica, immagini) si puo’ tollerare una limitata perdita di informazione

14

Immagini compresse

La quantita’ di informazione associata all’immagine (la sua dimensione sul disco) dipende da cosa c’e’nell’immagine stessa (in una BMP non e’ cosi’)

I due file, immagini compresse secondo RLE, hanno una dimensione diversa (33% di differenza)

Page 8: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

15

Tagged Image File Format

Piu’ flessibile che BMP– Consente compressione delle immagini (sia RLE che LZW)

– Consente di definire un contorno dell’immagine (non necessariamente rettangolare), che puo’ essere salvatoinsieme all’immagine

Maggiore portabilita’– Supportato da tutte le piattaforme grafiche

16

Formato GIF

Numero limitato di colori N (tipicamente 3, 16 o 256)

Memorizzazione di:– Palette

– Immagine compressa secondo l’algoritmo LZW (lossless)LZW e’ concettualmente simile a RLE, anche se piu’ complesso

File tanto piu’ piccolo quanto piu’ l’immagine e’ regolare

Non si ha perdita di informazione purche’ l’immagineoriginale abbia meno di N colori– Altrimenti alcuni colori dell’immagine originaria andranno

persi

Page 9: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

17

Formato GIF (2)

Particolarmente adatto per comprimere immaginicon colori pieni– Banner pubblicitari

– Disegni, fumetti

– Immagini create artificialmente

Pochi colori

Pattern di colore che si ripetono in modo regolare

BMP, 116 Kb GIF, 5.89 Kb

18

Formato GIF (3)

Trasparenza– Si puo’ specificare un colore

della palette come “sfondo”

– I pixel cosi’ marcati prendonoil colore di cio’ che sta sotto

Animazione– In uno stesso file GIF possono

essere salvate piu’ immagini chevengono visualizzate in modotemporizzato

– Effetto di animazione (semplice)

Page 10: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

19

Formato PNG

Compressione lossless, simile a GIF– Risolve alcuni problemi di brevetti (adesso scaduti)

sull’algoritmo di compressione LZW

– Trasparenza

– Possibili palette con piu’ di 256 colori

– Non possibili animazioni

– Meno supportato che GIF

20

Formato JPEG

Compressione lossy– Compressione come trade-off tra dimensione e resa

Minor compressione, file piu’ grande, miglior resa

Maggior compressione, file piu’ piccolo, peggior resa

Piu’ adatto per fotografie

Basa la compressione sulle peculiarita’ dellavisione umana– L’occhio e’ piu’ sensibile alle variazioni di luminosita’

che di cromaticita’.

– variazioni elevate tra pixel vicini tendono ad esseredifficilmente percepibili

Page 11: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

21

Algoritmo di compressione JPEG

Perdite di informazione

1

3

2

4

5

22

Piani di immagine

Un’immagine RGB puo’ essere scomposta nei suoi3 piani di immagine R, G, e B

R G B

Page 12: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

23

Compressione JPEG (1)

Cambio di coordinate nello spazio di colore– Da RGB a YIQ (o YCrCb, ~equivalente).

– Y= luminanza I,Q=crominanza

supponendo 0↔min, 1↔max:

24

Compressione JPEG (2)

Le immagini I e Q sono piuttosto “statiche”– Memorizzo un valore di I e Q (ad esempio) per ogni blocco di

2x2 pixel (standard subsampling)

– Perdo delle informazioni (ma l’occhio, in genere, non se neaccorge piu’ di tanto)

Memorizzo l’informazione di luminanza Y per ogni pixel

25% compression (75% quality), no subsampling (4:4:4), 8096 bytes.

15% compression (85% quality), standard subsampling (4:2:2), 8822 bytes.

Page 13: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

25

Compressione JPEG (3)

Discrete Cosine Transform– Per ogni blocco di 8x8 pixel, calcolo i coefficienti DCT

– Esprimo la coordinata (Y, I, Q) del blocco come somma pesata di 64 possibili pattern

8x8 block64 coefficienti DCT 64 blocchi “base” 8x8

~= (- 415) * + (-30) * + … bassa freq.

alta freq.

26

Compressione JPEG (4)

Quantizzazione– Divido ciascun coefficiente per un coefficiente di

quantizzazione, ed arrotondo all’intero piu’ vicinoCoefficienti DCT Matrice di quantizzazione

Page 14: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

27

Compressione JPEG (5)

Entropy coding– I coefficienti tendono ad essere nulli sulle controdiagonali,

man mano che si scende verso il basso.

– Memorizzo la sequenza a zig-zag dei codici, e comprimocon RLE (e’ molto probabile che avro’ tanti zeri in fila)

28

Decompressione

Il processo inverso a quellovisto finora

Originale Compresso e decompresso

Page 15: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

29

Decompressione (2)

Confronto tra le matrici DCT

Confronto tra i blocchi Y

30

Fattore qualita’

I programmi che consentono il salvataggio in formato JPEG danno la possibilita’ di impostare la qualita’ della compressione

Il fattore qualita’ e’ (±) inversamente proporzionaleal valore dei coefficienti della matrice di quantizzazione

Bassa (1%) Alta (100%)Qualita’File piu’ piccolo, immagine meno precisa

File piu’ grande, immagine piùprecisa

Page 16: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

31

Contenuto dell’immagine e compressione

BMP (256 KB)

JPEG Q=100% (17.5 KB)

BMP (256 KB)

JPEG Q=100% (100 KB)

Var. luminosita’ lenta Var. luminosita’ veloce

32

Esempio

compressione

Q=100%, 80 KB

Q=50%, 15 KB

Q=10%,5 KB

Q=1%, 1.5 KB

Page 17: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

33

Esempio (2)

Differenza singoli pixel (imm. originale vs JPEG Q=50%)– Bianco: pixel identici; nero: massima differenza

34

GIF vs. JPEG

GIF– Piu’ adatta per immagini con colori pieni (e.g., disegni,

loghi, etc.)

– Riduzione del n. di colori poco (o per niente) avvertibile

– Numero elevato di pixel consecutivi del medesimo colore

– Fattori di compressione nell’ordine di 10:1

JPEG– Piu’ adatta per immagini a colori sfumati (e.g. fotografie)

– Fattori di compressione nell’ordine di 10:1 ed oltre

– Il livello di qualita’ puo’ essere variato

Page 18: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

35

GIF vs. JPEG (esempio)

JPEG (200x270) 11.9 Kb

JPEG, 2,70 Kb

GIF (200x270) 14,8 Kb

GIF 3 colori 1,29 Kb

36

Modifica del numero di colori

Supponiamo di avere una foto in formato BMP true color, con “molti” colori contemporaneamente presenti (migliaia)

Cosa succede se la salviamo in formato “bitmap a 256 colori”?

Si perde l’informazione associata ai colori mancanti

Page 19: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

37

Riduzione del numero di colori (2)

Scelta di un n. di colori N con i quali l’immagine sarà codificata– Palette standard (ad esempio, web-safe) oppure

Analisi dell’immagine, per trovare al suo interno gli N colori piu’rappresentativi

– Possibili diversi criteri:Frequenza

Massima diversita’ di colore

Combinazioni dei due precedenti

Ogni colore dell’immagine viene modificato in uno degli N scelti

– ogni pixel p=(Rp,Gp,Bp), e’ trasformato nel colore j=(Rj,Gj,Bj) tale che

e’ minimo

( ) ( ) ( ) ( )2 2 2, p j p j p jD p j R R G G B B= − + − + −

38

Riduzione del numero di colori (3)

Palette standard vs palette basata sull’immagine

Palette 216 col. Web-safe

Palette 256 col. ottimizzata

Immagineoriginale

Page 20: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

39

Riduzione del numero di colori (4)

Dithering– diffondere i colori di zone adiacenti

per dare l’illusione della continuita’

– Eventualmente riusare altri coloridella palette

– Rischio di creare falsi colori 256 colori

16 colori, no dithering 16 colori, dithering

40

Modifica del numero di punti

Scalatura di un’immagine– Downsampling = verso il basso (meno punti)

Scegliere alcuni punti tra quelli che costituiscono l’immagine

– Upsampling = verso l’alto (più punti)“inventare” i punti da aggiungere

Se la scalatura non viene fatta con lo stesso passo su entrambi gli assi, l’immagine risulta distorta

– Ne viene modificata l’aspect ratio

Page 21: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

41

Scalatura

Downsampling di un fattore intero k– Scelgo il colore di 1 punto ogni k

– Scelgo il colore “medio” in un quadrato di latok

Upsampling di un fattore intero k– “nearest neighbor” da 1 pixel a 1 quadrato di

2x2 pixel

– Interpolazione (bilineare, bicubica) di pixel

Scalatura di un fattore razionale M/L– Upsampling di un fattore intero M

– Downsampling di un fattore intero L Esempi per k=2

42

Esempio

Bitmap 284x212, true color

177 Kbyte sul disco

12 Kbyte sul disco

scale 25%

scale 400%

Page 22: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

43

Periferiche Raster

Monitor, stampante, scanner, fotocamera digitale– Informazione grafica rappresentata sotto forma di

matrice di pixel (raster)

44

Acquisizione di immagini raster

Tramite periferiche di acquisizione (scanner, macchine fotografiche digitali)

Ricavare una matrice di punti colorati (raster) da un’immagine

– stampata su un foglio (scanner)

– “dal vivo” (macchina fotografica digitale)

Risoluzione di scansione

– quanto precisamente l’immagine verrà ricostruita

– quanto grande sarà il file che la contiene

N. di colori dell’immagine

bassa altarisoluzioneFile piccolo, immagine poco precisa

File grande, immagine piùprecisa

Page 23: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

45

Scanner e risoluzione

Uno scanner ha almeno due risoluzioni:– Ottica: quella del passo di campionamento delle immagini– Interpolata: lo scanner “si inventa” dei punti tra un

campionamento e l’altro

Esempio– HP Scanjet 4670V– Risoluzione

Ottica: 2.400 dpiInterpolata: fino a 999.999 dpi (a seconda della quantità di memoria disponibile, dello spazio su disco e di altri fattori di sistema)

La risoluzione interpolata non ha nessuna rilevanzapratica– Semplice upsampling via software

46

Effetto Moire’

Il passo di retinatura e di scansione danno fenomenidi frange interferenziali (Moire’)

Particolarmente visibile quando si effettua scansionedi immagini retinate (riviste) con risoluzione simile a quella di stampa

Per eliminarlo:

-Variare la risoluzione di scansione

-Usare appositi filtri nei programmidi elaborazione delle immagini (e.g., Photoshop) o nelle impostazioni delloscanner (deretinatura)

Page 24: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

47

Digital Camera

Non si parla di risoluzione, ma di numero di pixel (oggi >= 5Mpixel)

Se si possono fare foto con un numero minore di pixel– L’hardware della DC cattura sempre lo

stesso numero di pixel (quello massimo)

– Viene fatto downsampling all’interno dellaDC.

Zoom ottico– “zoom digitale” = upsampling via software

48

Acquisizione e scalatura

L’acquisizione determina la quantità di informazione associata ad un’immagine (punti e numero di colori)

Non si può creare informazione manipolandoun’immagine– Downsampling: riduce la quantità di informazione ad essa

associata, e quindi fa perdere dettaglio all’immagine

– Upsampling di un’immagine già acquisita fa crescere la dimensione del file ad essa associato, ma non migliora la qualità dell’immagine

Page 25: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

49

Visualizzazione - Schermo

monitor d

a 17”

area di v

isualiz

zazio

ne 16”

Dim ensioni m onitor (pollici)

Area di visualizzazione

(pollici) 15 14 17 16 21 20

PARAMETRI

• Nitidezza (dimensione dei punti, risoluzione, velocità di aggiornamento)

• Tipo di schermo (CRT, LCD)

50

Pixel

dot-pitch

pixel

Dimensione dei punti(DOT-PITCH): distanzatra i centri di due pixel adiacenti

Esempio: 0,28: 28 centesimi di mm

alternativamente

N. di pixel per unità di misura lineare (72-100 dpi, dots per inch) (risoluzione)

quantità di punti che possono esserevisualizzati sullo schermo del monitor

Esempio: 640x480 (VGA), 800x600 (SVGA), 1024x768 pixel (XGA)

xy

Page 26: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

51

Schermi CRT (Cathode Ray Tube)

cannoneelettronico

piatti di deflessione(verticale ed orizziontale)

grigliafosforo

Frequenza di aggiornamento (verticale): numero di volte al secondo che i pixel vengono aggiornati per conservarne la luminosità (es.: 50-100 volte ilsecondo)

scansione non-interallacciata

pennelloelettronico

tubo a vuoto

52

CRT - Frequenze

Frequenza di aggiornamento/refresh (verticale): numero di volte al secondo che i pixel vengono aggiornati per conservarne la luminosità (50 – 120 Hz)

Frequenza orizzontale: numero di righe orizzontali che possono essere dipinte in un secondo (30-100 KHz)

Banda video: il numero di pixel contigui che possono essere colorati con colori diversi in un secondo (ovvero la frequenza con cui è possibile cambiare l’intensità del pennello). Valore tipico 200 MHz

Page 27: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

53

CRT a colori

Grigliametallica

Cannonielettronici Blu

RossoVerdeFosfori

spalmati sulvetro

Tre cannoni luminosi, uno per ognuno dei colori fondamentali (R,G,B)

In realtà, un pixel è un agglomerato di 3 puntini molto vicini dei tre colori fondamentali– L’occhio umano “sintetizza”, e ricava l’impressione di un

unico punto colorato

54

Schermi LCD

Cristalli liquidi vengono orientati in modo tale daimpedire/consentire il passaggio di luce

Page 28: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

55

LCD e CRT

Accensione pixel– CRT: per la maggior parte del tempo e’ spento.

– LCD: I pixel restano accesi tra un refresh e l’altroImmagine molto piu’ stabile

Qualche problema con immagini in movimento (tempo di risposta (1-10 ms)

Consumo– CRT: alto, LCD: molto basso

Affidabilita’– I CRT sono tuttora piu’ affidabili degli LCD

56

Scheda Video (semplificata)

rete di interconnessione (bus di sistema)

processore memoria

SCHEDA VIDEO

adattatoregrafico

memoria video

RGB

Sinc. O.

Sinc. V.

Page 29: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

57

Memoria Video (semplificata)

x

y

R

C

SCHERMOMEMORIA VIDEO

(frame buffer)

xp + (C × yp)

bit che specificano ilcolore del pixel

(xp,yp)

58

Specifica del colore del pixel

Diretta– Celle di memoria di dimensione >= 24 bit

– Contengono direttamente la quantita’ di R, G, B, checompone il colore

Indicizzata– Celle di memoria di dimensione < 24 bit

– Contengono un indice di riga di una Color Lookup Table,

– La CLT contiene, alla riga j, la quantita’ di R, G, B, checompone il colore j

Page 30: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

59

Adattatore Grafico (semplificato)

• L’AG legge ad intervalli di tempo regolari le locazioni della MV

• Una volta che ha letto il contenuto di una locazione associata ad un certo pixel, l’AG compie le seguenti azioni:1. Considera i bit letti come la codifica del colore che dovrà

caratterizzare il pixel2. Genera tre segnali corrispondenti ai tre colori fondamentali3. Trasmette tali segnali al monitor tramite i fili R, G e B

60

Memoria Video: esempio

C = Numero dei coloriP = Numero di pixeln = bit di indirizzo per la Memoria Videod = dimensione di una parola di Memoria Video

= ⎡ ⎤⎢ ⎥= ⎡ ⎤⎢ ⎥

2

2

log

log

n P

d C

N = Numero locazioni della Memoria Video = 2n (N ≥ P)

ESEMPIOModalità Grafica: 640 × 480; COLORI: 256 ⇒P = 307200 ⇒n = 19; d = 8 ⇒Memoria Video di 512 Kbyte

Page 31: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

61

Pixel logici e pixel fisici

rete di interconnessione (bus di sistema)

processore memoria

SCHEDA VIDEO

adattatoregrafico

memoria video

RGB

Sinc. O.

Sinc. V.

62

Dalla BMP alla visualizzazione

La memoria video contiene, cella per cella, le informazionidi colore da visualizzare in ogni pixel dello schermo

– Celle di VRAM di dimensione maggiore di 24 bit (in pratica sempre): valori di R, G, B su 8 bit ciascuno

– Celle di VRAM di dimensione minore di 24 bit (in teoria): indice di colore in una color lookup table

Se devo visualizzare un’immagine bitmap, basta che la trasferisca nella memoria video “cosi’ com’e’”

Il formato bitmap e’ il piu’ semplice che si puo’ immaginareper memorizzare un’immagine, ed è quello che richiedemeno operazioni per la visualizzazione sullo schermo

Page 32: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

63

Visualizzare immagini compresse

Un’immagine compressa (e.g., JPEG) non puo’essere copiata direttamente nella memoria video

Deve prima essere decompressa

Trade off tra spazio e tempo (tipico dell’informatica)

Chi fa la decompressione?– Normalmente, la CPU

– Se la scheda grafica contiene un processore (GPU, o 3d accelerator), e’ possibile che ad esso sia affidata parte del lavoro

64

Schede Video AGP e PCI express

L’architettura AGP (Accelerated Graphics Port) permette uno scambio diretto delle informazioni tra CPU e memoria centrale e scheda graficaIncremento della velocita’ di comunicazione tra chipset e scheda grafica; il limite di comunicazione del bus PCI è 132 MB/s, lo standard AGP 3.0 8x arriva a 2.1 GB/s di piccoNuovo standard (~2007): PCI express, consente di

– Raggiungere velocita’ di trasferimento maggiori– Inserire anche piu’ di una scheda video

Page 33: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

65

Risoluzione nativa e cambio di risoluzione

In un monitor CRT, il numero di fosfori di cui sicompone lo schermo e’ fisso– Il pennello, pero’, si muove in maniera continua

– Se la scheda video invia immagini a risoluzione diversa(minore), il pennello colpisce “di striscio” alcuni fosfori

– La cosa avviene senza che l’utente se ne accorga

In un monitor LCD, il numero di contatti della matricetramite la quale si polarizzano I cristalli– Se la scheda video invia immagini a risoluzione diversa

(minore), le stesse vengono scalate verso l’alto dalmonitor

– L’effetto visivo e’ terribile

66

Stampanti

Differiscono per:

Tecnologia di stampa– Getto di inchiostro

– Laser

Capacità cromatica– Bianco e nero

– Colore

Velocità di stampa– N. di pagine al minuto

Risoluzione– 600-4800 dpi

Capacità di eseguire compiti complessi– Stampanti “PostScript”

Page 34: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

67

Stampanti laserUn raggio laser, tramite specchi che lo deflettono, scandisce per righe successive un tamburo e ne carica elettricamente solo i punti che dovranno corrispondere ai pixel da stampare

Contemporaneamente un foglio di carta passa vicino ad un filo percorso da corrente e si carica elettrostaticamenteIl tamburo, ruotando, pesca toner da una vaschettaIl toner, a carica opposta al tamburo, si fissa ad esso solo nei punti caricati dal raggio laserQuando la carta passa a contatto con il tamburo, dato che la carta è molto piùcarica, il toner viene attirato dalla carta

Raggio Laser

Vasca delToner

Carta

Elementidi fusione

Lampadadi scarica

Tamburo

Filo a corona

Fili a corona

68

Stampanti laser

Il tamburo, continuando a ruotare, passa vicino alla lampada di scarica che lo scarica completamente

La carta passa invece da sistema di fusione che, con una combinazione di calore e pressione, fissa in permanenza, fondendolo, il toner alla carta

Raggio Laser

Vasca delToner

Carta

Elementidi fusione

Lampadadi scarica

Tamburo

Filo a corona

Fili a corona

Page 35: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

69

Stampanti Inkjet

Al posto del toner, ci sono cartucce di inchiostro

Le cartucce sono montate su una testina ancorataad un braccio mobile che scandisceorizzontalmente il foglio

Viene rilasciato inchiostro su ogni pixel da annerire

Il foglio viene fatto avanzare per stampare nuoverighe

70

Stampanti a colori

Nelle stampanti a colori, ogni colore e’ rappresentato mescolando quattro colori

– Cyan, Magenta, Yellow, BlacK (CMYK)

In realta’, basterebbero i primi tre– Nero usato per convenienza e

precisione

Il processo appena descritto viene ripetuto 4 volte, ogni volta con un inchiostro di colore differente

Vale sia per stampanti laser cheper stampanti inkjet

CCC

MMM YYY

Nero (0,0,0)

Rosso (255,0,0)

Verde (0,255,0)

Blu (0,0,255)

Grigio

(x,x,

x)

Giallo (255,255,0)

Bianco (255,255,255)

Ciano (0,255,255)

Magenta (255,0,255)

Page 36: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

71

Il processo di stampa

Come si passa da una pagina (ad esempio) di testo all’insieme di operazioni che devono essere effettuate sulla stampante per ottenere la pagina stampata?– Il software che elabora il documento (e.g. Word) interagisce

con il driver della stampanteTale interazione avviene secondo criteri standard, che non dipendono dal modello di stampante

– Il driver invia alla stampante i comandi nella maniera ad essa comprensibile

Tale interazione dipende dal modello di stampante. Infatti stampanti diverse hanno driver diversi

72

Stampanti PostScript

Hanno dei processori (RIP, Raster Image Processor) che eseguono comandi in linguaggio PostScript

Per inviare una pagina di testo, invece che convertirla in una matrice di punti posso darne una descrizione molto più sintetica in PS e lasciare che il RIP la interpreti

L’immagine viene creata all’interno della stampante

/Times-Roman findfont32 scalefontsetfont100 200 translate45 rotate2 1 scalenewpath0 0 moveto(Example 4) true charpath0.5 setlinewidth0.4 setgraystroke

Page 37: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

73

Retinatura (Halftoning)

Una stampante b/n (a colori) ha inchiostri di un colore (4 colori)

Per realizzare (e.g.) il grigio o il magenta chiaro, si usa la retinatura

– Non tutti i pixel adiacenti vengono colorati

– Il cervello integra nello spazio punti bianchi e colorati vicini

74

Gamut

Ogni dispositivo e’ in grado di rappresentare un sottoinsieme finito dei colori visibili, detto gamut

Dispositivi diversi hanno gamut diversi

Diagramma ufficiale della CIE (Commission Internationale de l’Eclairage), 1931, cherappresenta I colori visibili in coordinate assolute (xyY)

Spettro di luce visibile

Page 38: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

75

Gamut (2)

Il gamut di dispositivi a sintesi additiva (monitor) e sottrattiva (stampanti) e’ notevolmente differente– Non tutti i colori visibili sono stampabili e viceversa

– Monitor diversi in cui i tre fosfori sono illuminati con unadata intensita’ mostrano colori diversi

76

Stampanti 3d

5K $ (Feb 08)

Costo del materiale: 1$/in3 (Feb 08)

Page 39: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

77

Regole per manipolare i raster

Acquisire una quantità di informazione (colore, n. di pixel) adatta allo scopo finale– Scansione di A4 per produrre un’immagine 5x5 cm

non ha senso lavorare a 1000 dpi

abbassare la risoluzione di scansione

– Scegliere il formato tenendo conto dell’effettivo numero di colori presente nell’immagine.

Impiego delle tecniche di compressione (GIF, JPEG)– Evitare di comprimere/decomprimere un JPEG molte volte

Ad ogni salvataggio, nuove approssimazioni (la parte frazionaria deicoefficienti DCT viene troncata)

– Manipolare l’immagine in formato non compresso, e comprimere come ultima operazione.

78

Rappresentare disegni tecnici

I disegni tecnici contengono oggetti, figure geometriche, descrivibili mediante curve e superfici (equazioni)

Ruotare (traslare, stirare, etc.) un oggetto significa applicare ad esso una trasformazione descrivibile in termini geometrici

Per conservare la possibilità di ruotare, muovere stirare, singoli oggetti all’interno di un disegno, è necessario rappresentarli tenendo conto delle loro proprietà geometriche

– Posizione relativa ad un riferimento

– Forma, colore, etc.

Page 40: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

79

Rappresentazione Vettoriale

Si parla in tal caso di rappresentazione vettoriale di un’immagine– Non e’ memorizzato il colore di ogni pixel, ma una

descrizione di alto livello (astratta), in un particolare linguaggio, delle proprieta’ geometriche degli oggetti checompongono l’immagine

Esempio (inventato) di linguaggio di descrizione:

Image(1024,768,white)

Rect(30,30,100,200,black)

Circle(100,40,30,red)

x

y

80

Esempio

Un file salvato con AutoCAD è memorizzato in un formato vettoriale (proprietario Autodesk)

Il file salvato su disco contiene una descrizione ad alto livello di figure geometriche (poligoni e solidi contenuti nel progetto)

Page 41: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

81

Formati grafici vettoriali

Esistono diversi formati grafici vettoriali, corrispondenti a diversi prodotti commerciali di grafica vettoriale, ad esempio:– Autocad (DWG)– Corel Draw (CDR)– Macromedia Freehand (FHx)– Adobe Illustrator (AI)– Microsoft Visio (VSD)– Windows Metafile (WMF)– PostScript ed Encapsulated PostScript (PS, EPS)– Portable Document Format (PDF)– …

Ognuno di questi definisce un proprio linguaggio di descrizione degli oggettiA meno che non incorporino dei raster, i file che contengono immagini vettoriali hanno dimensioni molto contenute

82

Periferiche Non-Raster

Plotter a penna (caduti in disuso)– Informazione grafica rappresentata sotto forma di

comandi di movimento della penna (funzionimatematiche).

Page 42: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

83

Visualizzare un’immagine vettoriale

Per visualizzare su una periferica raster (e.g., lo schermo) una scena descritta in modo vettoriale, e’necessario creare in memoria video il raster che la contiene– Processo di rendering– Per ogni pixel logico (cella di memoria video), devo

decidere un colore, calcolato sulla base della descrizionevettoriale di tutti gli oggetti contenuti in un’immagine

Image(1024,768,white)

Rect(30,30,100,200,black)

Circle(100,40,30,red)

84

Rendering in memoria video

Se ci sono molti oggetti, è necessario fare molti contiper stabilire il colore di ogni singolo pixel

Rapp. Vettoriale…255, 255, 255

255, 255, 255

0,0,0

j

j+1

j+2

… in memoria video

… sullo schermo

Image(1024,768,white)

Rect(30,30,100,200,black)

Circle(100,40,30,red)

Page 43: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

85

Rasterizzazione

In generale, trasformazione di un’immagine vettoriale in un raster– Ad esempio, salvataggio in un formato di tipo raster (e.g.,

BMP) di un’immagine memorizzata in un formato vettoriale (e.g., CDR)

E’ (grossomodo) la stessa operazione che viene fatta in memoria video per visualizzare l’immagine vettoriale

86

Vettorializzazione

Processo estremamente complesso, realizzabile solo con programmi avanzati, e per casi molto semplici.

Si tratta di analizzare un raster con l’obiettivo di riconoscere “contorni” di forme descrivibili in modo matematico.– Esempio: riconoscimento di caratteri scritti a mano (OCR)

A

Page 44: Rappresentazione delle Immagini - unipi.itdocenti.ing.unipi.it/~a080368/Teaching/InfoGrafica/pdf/Rappresentaz… · Sintesi Additiva di Colore zI colori rappresentabili su un monitor

87

Modificare un’immagine vettoriale

Un’immagine vettoriale può essere ingrandita o rimpicciolita senza perdita di qualità.

Si tratta solo di manipolare equazioni, il che può essere fatto con precisione.

formato WMF (Windows Metafile, vettoriale)

scale 400%

formato BMP (bitmap, raster)

scale 400%