Rappresentazione
delle Immagini
Come si rappresenta un’immagine
z
z
z
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
–
z
BMP, TIFF, JPEG, GIF, PNG, …
I formati differiscono per il modo in cui si memorizzano i colori
dei pixel
2
Come si memorizza un’informazione di colore
z
z
La luce e’ un’onda elettromagnetica, che colpisce il
fondo della retina attraverso la pupilla
Il fondo della retina e’ popolato di coni, che sono
particolarmente sensibili a certe frequenze di luce
–
Ci sono tre tipi di coni, sensibili in intervalli di frequenze
differenti (ma non disgiunti)
3
Come si memorizza un’informazione di colore
z
L’apparato visivo (occhi+cervello) non e’ in grado di
distinguere la composizione di luce (metameria)
4
Sintesi Additiva di Colore
Blu (0,0,255)
z
Ciano (0,255,255)
Bianco
(255,255,255)
io
(x
,x
,x
)
Magenta
(255,0,255)
rig
z
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
G
z
Verde (0,255,0)
Nero (0,0,0)
Rosso (255,0,0)
Giallo (255,255,0)
5
Memorizzazione del colore
z
Diretta (true color)
–
–
z
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
6
Memorizzazione del colore (2)
z
Casi particolari
–
B/N (monocromatica): un bit per stabilire il
colore 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
7
Quanti colori nell’immagine?
z
Pochi colori (e.g., disegno)
–
–
–
Tipico: <=16, 256 colori
Palette piccola
Indice su pochi bit (4, 8)
z
Molti colori (e.g., foto)
–
–
–
Tipico: >=1000 colori
Rappresentazione indicizzata
poco (o per niente) conveniente
Meglio true color
8
Esempi
z
Immagine 640x480 pixel, 256 colori
–
–
–
–
–
z
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.
9
Formati delle immagini
z
Non compresso
–
z
Compresso
–
–
–
z
Graphic Interchange Format (GIF)
Portable Network Graphics (PNG)
Joint Photographic Experts Group (JPEG)
Tagged Image File Format (TIFF)
–
z
Bitmap (BMP)
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, …
10
Formato Bitmap
z
Consente di salvare immagini
–
–
–
z
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
11
Compressione delle immagini
z
Immagine RxC pixel in true color, con un pixel rosso
in alto a sinistra
–
–
Ho davvero bisogno di RxCx3 byte per rappresentare
l’informazione associata a questa immagine?
Mi costerebbe meno rappresentare l’informazione come:
z
z
“{1; rosso}, {(RxC)-1; bianco}”
Run Length Encoding (RLE), usato ad es. nei fax
•Formato compresso di rappresentazione:
•Meno spazio occupato sul disco
•Necessita’ di decomprimere l’immagine
per poterla visualizzare
C
R
12
Due tipi di compressione
z
Lossless (senza perdita)
-
-
z
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
13
Immagini compresse
z
z
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)
14
Tagged Image File Format
z
Piu’ flessibile che BMP
–
–
z
Consente compressione delle immagini (sia RLE che LZW)
Consente di definire un contorno dell’immagine (non
necessariamente rettangolare), che puo’ essere salvato
insieme all’immagine
Maggiore portabilita’
–
Supportato da tutte le piattaforme grafiche
15
Formato GIF
z
Numero limitato di colori N (tipicamente 3, 16 o 256)
z
Memorizzazione di:
–
–
Palette
Immagine compressa secondo l’algoritmo LZW (lossless)
z
z
z
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’immagine
originale abbia meno di N colori
–
Altrimenti alcuni colori dell’immagine originaria andranno
persi
16
Formato GIF (2)
z
Particolarmente adatto per comprimere immagini
con colori pieni
–
–
–
z
z
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
17
Formato GIF (3)
z
Trasparenza
–
–
Si puo’ specificare un colore
della palette come “sfondo”
I pixel cosi’ marcati prendono
il colore di cio’ che sta sotto
z
Animazione
–
–
In uno stesso file GIF possono
essere salvate piu’ immagini che
vengono visualizzate in modo
temporizzato
Effetto di animazione (semplice)
18
Formato PNG
z
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
19
Formato JPEG
z
Compressione lossy
–
Compressione come trade-off tra dimensione e resa
z
z
z
z
Minor compressione, file piu’ grande, miglior resa
Maggior compressione, file piu’ piccolo, peggior resa
Piu’ adatto per fotografie
Basa la compressione sulle peculiarita’ della
visione umana
–
–
L’occhio e’ piu’ sensibile alle variazioni di luminosita’
che di cromaticita’.
variazioni elevate tra pixel vicini tendono ad essere
difficilmente percepibili
20
Algoritmo di compressione JPEG
2
1
3
4
Perdite di
informazione
5
21
Piani di immagine
z
Un’immagine RGB puo’ essere scomposta nei suoi
3 piani di immagine R, G, e B
R
G
B
22
Compressione JPEG (1)
z
Cambio di coordinate nello spazio di
colore
–
–
Da RGB a YIQ (o YCrCb, ~equivalente).
Y= luminanza
I,Q=crominanza
supponendo 0↔min, 1↔max:
23
Compressione JPEG (2)
z
Le immagini I e Q sono piuttosto “statiche”
–
–
z
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 ne
accorge 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.
24
Compressione JPEG (3)
z
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 block
64 coefficienti DCT
~= (- 415) *
+ (-30) *
64 blocchi “base” 8x8
+…
bassa freq.
alta freq.
25
Compressione JPEG (4)
z
Quantizzazione
Divido ciascun coefficiente per un coefficiente di
quantizzazione, ed arrotondo all’intero piu’ vicino
Coefficienti DCT
Matrice di quantizzazione
–
26
Compressione JPEG (5)
z
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 comprimo
con RLE (e’ molto probabile che avro’ tanti zeri in fila)
27
Decompressione
z
Il processo inverso a quello
visto finora
Originale
Compresso e decompresso
28
Decompressione (2)
z
Confronto tra le matrici DCT
z
Confronto tra i blocchi Y
29
Fattore qualita’
z
I programmi che consentono il salvataggio in
formato JPEG danno la possibilita’ di impostare la
qualita’ della compressione
File piu’ piccolo,
immagine meno
precisa
z
Bassa (1%)
Qualita’ Alta (100%)
File piu’ grande,
immagine più
precisa
Il fattore qualita’ e’ (±) inversamente proporzionale
al valore dei coefficienti della matrice di
quantizzazione
30
Contenuto dell’immagine e compressione
Var. luminosita’ lenta
Var. luminosita’ veloce
z
BMP (256 KB)
z
BMP (256 KB)
z
JPEG Q=100% (17.5 KB)
z
JPEG Q=100% (100 KB)
31
Esempio
Q=100%,
80 KB
Q=50%,
15 KB
compressione
Q=1%,
1.5 KB
Q=10%,
5 KB
32
Esempio (2)
z
Differenza singoli pixel (imm. originale vs JPEG Q=50%)
–
Bianco: pixel identici; nero: massima differenza
33
GIF vs. JPEG
z
GIF
–
–
–
–
z
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
34
GIF vs. JPEG (esempio)
z
JPEG (200x270) 11.9 Kb
z
GIF (200x270) 14,8 Kb
z
JPEG, 2,70 Kb
z
GIF 3 colori 1,29 Kb
35
Modifica del numero di colori
z
z
z
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
36
Riduzione del numero di colori (2)
z
Scelta di un n. di colori N con i quali l’immagine sarà codificata
–
z
Palette standard (ad esempio, web-safe) oppure
Analisi dell’immagine, per trovare al suo interno gli N colori piu’
rappresentativi
–
Possibili diversi criteri:
z
z
z
z
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
D ( p, j ) =
(R
− R j ) + ( G p − G j ) + ( Bp − B j )
2
p
2
2
e’ minimo
37
Riduzione del numero di colori (3)
z
Palette standard vs palette basata sull’immagine
Immagine
originale
Palette 216 col.
Web-safe
Palette 256 col.
ottimizzata
38
Riduzione del numero di colori (4)
z
Dithering
–
–
–
diffondere i colori di zone adiacenti
per dare l’illusione della continuita’
Eventualmente riusare altri colori
della palette
Rischio di creare falsi colori
16 colori, no dithering
256 colori
16 colori, dithering
39
Modifica del numero di punti
z
Scalatura di un’immagine
–
Downsampling = verso il basso (meno punti)
z
–
Upsampling = verso l’alto (più punti)
z
z
Scegliere alcuni punti tra quelli che costituiscono l’immagine
“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
40
Scalatura
z
Downsampling di un fattore intero k
–
–
z
Upsampling di un fattore intero k
–
–
z
Scelgo il colore di 1 punto ogni k
Scelgo il colore “medio” in un quadrato di lato
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
41
Esempio
z
Bitmap 284x212, true color
12 Kbyte sul disco
scale 25%
scale 400%
177 Kbyte sul disco
42
Periferiche Raster
z
Monitor, stampante, scanner, fotocamera digitale
–
Informazione grafica rappresentata sotto forma di
matrice di pixel (raster)
43
Acquisizione di immagini raster
z
z
z
z
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
File piccolo,
immagine poco
precisa
bassa
risoluzione
alta
File grande,
immagine più
precisa
44
Scanner e risoluzione
z
Uno scanner ha almeno due risoluzioni:
–
–
z
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
z
z
z
Ottica: 2.400 dpi
Interpolata: 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 rilevanza
pratica
–
Semplice upsampling via software
45
Effetto Moire’
z
z
Il passo di retinatura e di scansione danno fenomeni
di frange interferenziali (Moire’)
Particolarmente visibile quando si effettua scansione
di immagini retinate (riviste) con risoluzione simile a
quella di stampa
Per eliminarlo:
-Variare la risoluzione di scansione
-Usare appositi filtri nei programmi
di elaborazione delle immagini (e.g.,
Photoshop) o nelle impostazioni dello
scanner (deretinatura)
46
Digital Camera
z
z
Non si parla di risoluzione, ma di
numero di pixel (oggi >= 5Mpixel)
Se si possono fare foto con un
numero minore di pixel
–
–
z
L’hardware della DC cattura sempre lo
stesso numero di pixel (quello massimo)
Viene fatto downsampling all’interno della
DC.
Zoom ottico
–
“zoom digitale” = upsampling via software
47
Acquisizione e scalatura
z
z
L’acquisizione determina la quantità di informazione
associata ad un’immagine (punti e numero di colori)
Non si può creare informazione manipolando
un’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
48
Visualizzazione - Schermo
m
ito
on
ar
a
rd
ea
17
di
”
u
v is
z
za
z
i
al
e
ion
16
”
D im e n s io n i
m o n ito r
(p o llic i)
15
17
21
A re a d i
v is u a lizza zio n e
(p o llic i)
14
16
20
PARAMETRI
• Nitidezza (dimensione dei punti,
risoluzione, velocità di
aggiornamento)
• Tipo di schermo (CRT, LCD)
49
Pixel
dot-pitch
x
y
Dimensione dei punti
(DOT-PITCH): distanza
tra i centri di due pixel
adiacenti
Esempio: 0,28: 28
centesimi di mm
pixel
alternativamente
N. di pixel per unità di
misura lineare (72-100
dpi, dots per inch)
(risoluzione)
quantità di punti che possono essere
visualizzati sullo schermo del monitor
Esempio: 640x480 (VGA), 800x600 (SVGA),
1024x768 pixel (XGA)
50
Schermi CRT (Cathode Ray Tube)
griglia
fosforo
pennello
cannone elettronico
elettronico
­
>
tubo a vuoto
piatti di deflessione
(verticale ed orizziontale)
scansione non-interallacciata
Frequenza di aggiornamento (verticale): numero di volte al secondo che i
pixel vengono aggiornati per conservarne la luminosità (es.: 50-100 volte il
secondo)
51
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
52
CRT a colori
z
z
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
Cannoni
unico punto colorato
Blu
elettronici
Fosfori
spalmati sul
vetro
Verde
Rosso
Griglia
metallica
53
Schermi LCD
z
Cristalli liquidi vengono orientati in modo tale da
impedire/consentire il passaggio di luce
54
LCD e CRT
z
Accensione pixel
–
–
CRT: per la maggior parte del tempo e’ spento.
LCD: I pixel restano accesi tra un refresh e l’altro
z
z
z
Consumo
–
z
Immagine molto piu’ stabile
Qualche problema con immagini in movimento (tempo di risposta (1-10
ms)
CRT: alto, LCD: molto basso
Affidabilita’
–
I CRT sono tuttora piu’ affidabili degli LCD
55
Scheda Video (semplificata)
rete di interconnessione (bus di sistema)
SCHEDA VIDEO
memoria video
processore
memoria
adattatore
grafico
Sinc. O.
Sinc. V.
R
G
B
56
Memoria Video (semplificata)
MEMORIA VIDEO
(frame buffer)
SCHERMO
x
y
xp + (C × yp)
(xp,yp)
R
C
bit che specificano il
colore del pixel
57
Specifica del colore del pixel
z
Diretta
–
–
z
Celle di memoria di dimensione >= 24 bit
Contengono direttamente la quantita’ di R, G, B, che
compone 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, che
compone il colore j
58
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 pixel
2. Genera tre segnali corrispondenti ai tre colori fondamentali
3. Trasmette tali segnali al monitor tramite i fili R, G e B
59
Memoria Video: esempio
C = Numero dei colori
P = Numero di pixel
n = bit di indirizzo per la Memoria Video
d = dimensione di una parola di Memoria Video
n = ⎡⎢log2 P ⎥⎤
d = ⎡⎢log2 C ⎤⎥
N = Numero locazioni della Memoria Video = 2n (N ≥ P)
ESEMPIO
Modalità Grafica: 640 × 480; COLORI: 256 ⇒
P = 307200 ⇒
n = 19; d = 8 ⇒Memoria Video di 512 Kbyte
60
Pixel logici e pixel fisici
rete di interconnessione (bus di sistema)
SCHEDA VIDEO
memoria video
processore
memoria
adattatore
grafico
Sinc. O.
Sinc. V.
R
G
B
61
Dalla BMP alla visualizzazione
z
La memoria video contiene, cella per cella, le informazioni
di 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
z
Se devo visualizzare un’immagine bitmap, basta che la
trasferisca nella memoria video “cosi’ com’e’”
z
Il formato bitmap e’ il piu’ semplice che si puo’ immaginare
per memorizzare un’immagine, ed è quello che richiede
meno operazioni per la visualizzazione sullo schermo
62
Visualizzare immagini compresse
z
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)
z
Chi fa la decompressione?
z
z
–
–
Normalmente, la CPU
Se la scheda grafica contiene un processore (GPU, o 3d
accelerator), e’ possibile che ad esso sia affidata parte del
lavoro
63
Schede Video AGP e PCI express
z
z
z
L’architettura AGP (Accelerated Graphics Port) permette uno scambio
diretto delle informazioni tra CPU e memoria centrale e scheda grafica
Incremento 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 picco
Nuovo standard (~2007): PCI express, consente di
–
–
Raggiungere velocita’ di trasferimento maggiori
Inserire anche piu’ di una scheda video
64
Risoluzione nativa e cambio di risoluzione
z
In un monitor CRT, il numero di fosfori di cui si
compone lo schermo e’ fisso
–
–
–
z
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 matrice
tramite la quale si polarizzano I cristalli
–
–
Se la scheda video invia immagini a risoluzione diversa
(minore), le stesse vengono scalate verso l’alto dal
monitor
L’effetto visivo e’ terribile
65
Stampanti
Differiscono per:
z Tecnologia di stampa
–
–
z
Capacità cromatica
–
–
z
N. di pagine al minuto
Risoluzione
–
z
Bianco e nero
Colore
Velocità di stampa
–
z
Getto di inchiostro
Laser
600-4800 dpi
Capacità di eseguire compiti complessi
–
Stampanti “PostScript”
66
Stampanti laser
Un raggio laser, tramite specchi che lo
deflettono, scandisce per righe successive
un tamburo e ne carica elettricamente solo
del
i punti che dovranno corrispondere ai pixel Vasca
Toner
da stampare
Contemporaneamente un foglio di carta
passa vicino ad un filo percorso da
corrente e si carica elettrostaticamente
Il tamburo, ruotando, pesca toner da una Carta
vaschetta
Il toner, a carica opposta al tamburo, si
fissa ad esso solo nei punti caricati dal
raggio laser
Quando la carta passa a contatto con il
tamburo, dato che la carta è molto più
carica, il toner viene attirato dalla carta
z
z
z
z
z
Raggio Laser
Filo a corona
Lampada
di scarica
Tamburo
Elementi
di fusione
Fili a corona
67
Stampanti laser
z
z
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 del
Toner
Filo a corona
Lampada
di scarica
Tamburo
Elementi
di fusione
Carta
Fili a corona
68
Stampanti Inkjet
z
z
z
z
Al posto del toner, ci sono cartucce di inchiostro
Le cartucce sono montate su una testina ancorata
ad un braccio mobile che scandisce
orizzontalmente il foglio
Viene rilasciato inchiostro su ogni pixel da annerire
Il foglio viene fatto avanzare per stampare nuove
righe
69
Stampanti a colori
Nelle stampanti a colori, ogni
colore e’ rappresentato
mescolando quattro colori
z
z
z
Bianco
(255,255,255)
Magenta
(255,0,255)
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 che
per stampanti inkjet
(x
,x
,x
)
Cyan, Magenta, Yellow, BlacK
(CMYK)
In realta’, basterebbero i primi tre
–
Ciano (0,255,255)
o
–
Blu (0,0,255)
G
rig
i
z
Verde (0,255,0)
Nero (0,0,0)
Giallo (255,255,0)
Rosso (255,0,0)
C
C
M
M
Y
Y
70
Il processo di stampa
z
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 stampante
z
–
Tale interazione avviene secondo criteri standard, che non dipendono dal
modello di stampante
Il driver invia alla stampante i comandi nella maniera ad
essa comprensibile
z
Tale interazione dipende dal modello di stampante. Infatti stampanti diverse
hanno driver diversi
71
Stampanti PostScript
z
Hanno dei processori (RIP, Raster Image Processor) che
eseguono comandi in linguaggio PostScript
/Times-Roman findfont
32 scalefont
setfont
100 200 translate
45 rotate
2 1 scale
newpath
0 0 moveto
(Example 4) true charpath
0.5 setlinewidth
0.4 setgray
stroke
z
z
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
72
Retinatura (Halftoning)
z
z
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
73
Gamut
z
z
Ogni dispositivo e’ in grado di rappresentare un
sottoinsieme finito dei colori visibili, detto gamut
Dispositivi diversi hanno gamut diversi
Spettro di luce visibile
Diagramma ufficiale della CIE
(Commission Internationale de
l’Eclairage), 1931, che
rappresenta I colori visibili in
coordinate assolute (xyY)
74
Gamut (2)
z
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 una
data intensita’ mostrano colori diversi
75
Stampanti 3d
z
z
5K $ (Feb 08)
Costo del materiale: 1$/in3 (Feb 08)
76
Regole per manipolare i raster
z
Acquisire una quantità di informazione (colore, n.
di pixel) adatta allo scopo finale
–
Scansione di A4 per produrre un’immagine 5x5 cm
z
z
–
z
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
z
–
Ad ogni salvataggio, nuove approssimazioni (la parte frazionaria dei
coefficienti DCT viene troncata)
Manipolare l’immagine in formato non compresso, e
comprimere come ultima operazione.
77
Rappresentare disegni tecnici
z
I disegni tecnici contengono oggetti, figure geometriche,
descrivibili mediante curve e superfici (equazioni)
z
Ruotare (traslare, stirare, etc.) un oggetto significa applicare ad
esso una trasformazione descrivibile in termini geometrici
z
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.
78
Rappresentazione Vettoriale
z
Si parla in tal caso di rappresentazione vettoriale di
un’immagine
–
z
Non e’ memorizzato il colore di ogni pixel, ma una
descrizione di alto livello (astratta), in un particolare
linguaggio, delle proprieta’ geometriche degli oggetti che
compongono l’immagine
Esempio (inventato) di linguaggio di descrizione:
x
Image(1024,768,white)
Rect(30,30,100,200,black)
Circle(100,40,30,red)
y
79
Esempio
z
Un file salvato con AutoCAD è memorizzato in un
formato vettoriale (proprietario Autodesk)
z
Il file salvato su disco contiene una descrizione ad
alto livello di figure geometriche (poligoni e solidi
contenuti nel progetto)
80
Formati grafici vettoriali
z
z
z
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 oggetti
A meno che non incorporino dei raster, i file che contengono
immagini vettoriali hanno dimensioni molto contenute
81
Periferiche Non-Raster
z
Plotter a penna (caduti in disuso)
–
Informazione grafica rappresentata sotto forma di
comandi di movimento della penna (funzioni
matematiche).
82
Visualizzare un’immagine vettoriale
z
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 descrizione
vettoriale di tutti gli oggetti contenuti in un’immagine
Image(1024,768,white)
Rect(30,30,100,200,black)
Circle(100,40,30,red)
83
Rendering in memoria video
… sullo schermo
Rapp. Vettoriale…
Image(1024,768,white)
Rect(30,30,100,200,black)
Circle(100,40,30,red)
z
j
255, 255, 255
j+1
255, 255, 255
j+2
0,0,0
… in memoria video
Se ci sono molti oggetti, è necessario fare molti conti
per stabilire il colore di ogni singolo pixel
84
Rasterizzazione
z
In generale, trasformazione di un’immagine
vettoriale in un raster
–
z
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
85
Vettorializzazione
z
z
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
86
Modificare un’immagine vettoriale
z
z
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%
87