rappresentazione delle immagini -...
Post on 31-May-2020
2 Views
Preview:
TRANSCRIPT
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
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)
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
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
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, …
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
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)
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
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)
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
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
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.
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
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
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
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
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
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
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
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
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%
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
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)
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
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
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
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
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.
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
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
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
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
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”
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
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)
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
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
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)
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.
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)
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).
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)
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
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%
top related