Modelli del colore
2 – Il colore digitale
Daniele Marini, Maurizio Rossi
1
RGB Color Display
1 pixel = 3 fosfori R,G,B,
illuminati con intensità
variabile
2
Quanti colori?
Bit
1
2
3
4
5
6
7
8
16
24
32
Numero di colori
21
22
23
24
25
26
27
28
216
224
232
2
4
8
16
32
64
128
256
65.536 (16 bit True Color)
16.777.216 (True Color)
24 bit True-Color + 8 bit Alpha Channel
3
RGB Color Display
(24 bit: “TrueColor” )
4
5
TrueColor (24 bit)
6
256 Color Display (8 bit) (LUT)
“Palette”
7
Immagine a 256 colori
8
Approssimazione (“dithering”)
Immagine originale
(TrueColor)
Immagine approssimata
(256 colori)
9
Dithering
10
Palettes
11
Modello RGB
12
Colori del Monitor RGB
•Cromaticità dei fosfori e livello del bianco
•Sono un sottoinsieme dei colori CIE
ESEMPIO:
x
y
R
0.67
0.33
G
B
0.21
0.14
0.71
0.08
D65
0.313
0.329
13
Spazi colore: assoluti e relativi
•
•
•
•
X Y Z è quindi uno spazio colore assoluto
definito sulla base delle caratteristiche umane
R G B è uno spazio colore relativo che dipende
dal monitor (caratteristiche dei fosfori)
Problema: Ogni monitor ha caratteristiche
cromatiche diverse che sono influenzate anche
dalle regolazioni manuali!!!
Quindi: che senso ha definire il colore e le
immagini digitali in termini di valori R G B ?
14
Da X Y Z a R G B
•
•
I valori di tristimolo R G B dei fosfori del
monitor usati in computer grafica sono una
trasformazione lineare dei valori X Y Z
La trasformazione lineare dipende dai valori di
tristimolo dei fosfori del monitor
X  X r
Y    Y
   r
 Z   Z r
Xg
Yg
Zg
X b  R 
  
Yb  G 
Z b   B  
 
15
Da XYZ a RGB e viceversa
Trasformazione lineare:
 R 
X 
 0,431
 Y   M G   dove M  0,222
 
 




 Z 
0,020
B
 
 R
 
G
 B

0,342
0,707
0,130
0,178 
0,071 
0,939 

X 

1  
  M Y 

 Z 

•I coefficienti di M si ricavano dalle coordinate di cromaticità dei fosfori;
nell’esempio un monitor standard.
• è il fattore di correzione gamma del monitor
16
Alcune matrici di
trasformazione
XYZ - RGB
Spazio colore
RGB
Bianco di
riferim.

Adobe RGB (1998)
D65
2,2
0.576700
0.185556
0.188212
0.297361
0.627355
0.0752847
0.0270328
0.0706879
0.991248
Apple RGB
D65
1,8
0.449695
0.316251
0.18452
0.244634
0.672034
0.0833318
0.0251829
0.141184
0.922602
BestRGB
D50
2,2
0.632670
0.204556
0.126995
0.228457
0.737352
0.0341908
0.000000
0.00951424
0.815696
Beta RGB
D50
2,2
0.671254
0.174583
0.118383
0.303273
0.663786
0.0329413
0.000000
0.040701
0.784509
BruceRGB
D65
2,2
0.467384
0.294454
0.188629
0.240995
0.683554
0.0754517
0.0219086
0.0736135
0.993447
CIE
E
2,2
0.488718
0.310680
0.200602
0.176204
0.812985
0.0108109
0.000000
0.0102048
0.989795
ColorMatch
D50
1,8
0.509344
0.320907
0.133969
0.274884
0.658132
0.0669845
0.0242545
0.108782
0.692174
DonRGB4
D50
2,2
0.645771
0.193351
0.125098
0.278350
0.687970
0.0336802
0.00371134
0.0179862
0.803513
ECI
D50
1,8
0.650204
0.178077
0.135938
0.320250
0.602071
0.0776791
0.000000
0.0678390
0.757371
Ekta Space PS5
D50
2,2
0.593891
0.272980
0.0973486
0.260629
0.734946
0.00442493
0.000000
0.0419970
0.783213
NTSC
C
2,2
0.606734
0.173564
0.200112
0.298839
0.586811
0.114350
0.000000
0.0661196
1.11491
PAL / SECAM
D65
2,2
0.430587
0.341545
0.178336
0.222021
0.706645
0.0713342
0.0201837
0.129551
0.939234
ProPhoto
D50
1,8
0.797675
0.135192
0.0313534
0.288040
0.711874
0.000086
0.000000
0.000000
0.825210
SMPTE-C
D65
2,2
0.393555
0.365253
0.191659
0.212395
0.701049
0.0865558
0.0187407
0.111932
0.958297
sRGB
D65
~2,2
0.412424
0.357579
0.180464
0.212656
0.715158
0.0721856
0.0193324
0.119193
0.950444
2,2
0.716105
0.100930
0.147186
0.258187
0.724938
0.0168748
0.000000
0.0517813
0.773429
WideGamut
D50
M
17
Limiti dello spazio colore XYZ
•Esperimenti effettuati su volontari mostrano che ad uguali
variazioni di colore, intese come uguali spostamenti
all'interno dello spazio colore X Y Z, non corrispondono
uguali differenze nella percezione degli stessi.
•Il nostro sistema visivo è sensibile in modo diverso a
seconda delle varie lunghezze d'onda che costituiscono il
colore, e alla diversa luminosità del colore stesso.
•Per avere uno spazio colore percettivamente uniforme, è
stato definito dalla CIE nel 1976 lo spazio L*,a*,b*, che
riduce notevolmente questo difetto congenito del modello
XYZ.
18
Confrontare i colori
Piccoli spostamenti nello spazio RGB o XYZ danno
luogo a grandi spostamenti percettivi:
Diagramma di Wright
della distanza percettiva
19
Ellissi di MacAdam
Spazio CIE
20
Ellissi di MacAdam
spazio percettivo lineare
21
Spazio CIE L*a*b*
• Alla base del sistema sta la definizione di
chiarezza relativa L*, così calcolata
116  3 Y Yn  16
L 
 903,3  Y Yn 
*
se Y Yn   0,008856
se Y Yn   0,008856
• Questa è determinata in funzione del fattore di
luminanza percentuale Y del colore considerato
rispetto al fattore di luminanza percentuale Yn del
campione bianco di riferimento (D65, D50, …).
• Per come è calcolata L* può assumere un valore
compreso tra 0 e 100.
22
a* e b*:
 1/ 3  1/ 3 
X
Y
*





a  500    
 
X
Y
 n  
 n 
 1/ 3  1/ 3 
Y
Z





b*  200 


Z  

Y


 n  
 n
I valori Xn, Yn, Zn sono i valori X, Y, Z di un bianco di
riferimento;
se uno dei rapporti X/Xn, Y/Yn, Z/Zn è minore o uguale a
0.008856, allora verrà sostituito da:
7.787F + 16/116
dove F è uno tra i rapporti X/Xn, Y/Yn, Z/Zn
23
Spazio CIE L*a*b*
• Fondamentale:
– Lo spazio colore CIE XYZ si basa sul
concetto di color matching (confronto)
– Lo spazio colore CIE L*a*b* si basa sul
concetto di color difference (differenza)
– Le sue coordinate cromatiche a*,b* indicano
rispettivamente quanto rosso o verde e quanto giallo o
blu è un colore. In particolare valori positivi di a*
indicano una tendenza verso il rosso, mentre valori
negativi indicano una tendenza verso il verde; per b*
valori positivi indicano una tendenza verso il giallo,
mentre valori negativi indicano una tendenza verso il
blu.
24
il solido piú interno é generato da stimoli colore risultanti dalla
riflessione (o trasmissione) di energia radiante incidente sopra
gli oggetti; l’area piú esterna é generata da stimoli colore
monocromatici
25
Distanza cromatica E
Distanza euclidea in uno spazio colore percettivamente
uniforme
Distanza cromatica utile per trovare “colori corrispondenti”
e risolvere “costanza cromatica”
E
*
ab

L
*
1
  a
* 2
2
L
*
1
a
  b
* 2
2
*
1

* 2
2
b
26
E94 (CIE La*b*)
2
2
 L *   C *ab   H *ab 
  
  

E *94  
 k L  S L   kC  S C   k H  S H 
C *ab  a * b *
2
SL  1
2
SC  1  0.0045  C *ab
2
b
H  arc tan  
a
S H  1  0.0015  C *ab
k L  kC  k H  1
27
Spazio CIE Lu*v*
28
L'algoritmo di conversione XYZ->L*u*v*
(Xn,Yn,Zn)=coordinate dell'illuminante standard scalate con
Yn=100
se Y/Yn>0.008856 allora L*=116(Y/Yn)^(1/3)-16
altrimenti L*=903.3(Y/Yn)
u*=13L*(4X/(X+15Y+3Z)-4Xn/(Xn+15Yn+3Zn))
v*=13L*(9Y/(X+15Y+3Z)-9Yn/(Xn+15Yn+3Zn))
nb.:L* è la stessa per lo spazio L*a*b*
29
Interpolazione colori
in diversi spazi
RGB
XYZ
CIELUV
30
Spazio Y uv
detto anche EBU (European Broadcasting Union), è di fatto lo standard
adottato per la codifica delle informazioni colore negli schermi TV
Pal/Secam.
Y è chiamato “luma”.
Per passare da RGB a Yuv si usa la matrice:
0.299 0.587 0.114
-0.147 -0.289 0.436
0.615 -0.515 -0.100
Il sistema NTSC usa Y’i’q’ con la matrice:
0.299
0.596
0.212
0.587 0.114
-0.274 -0.322
-0.523 0.311
31
Spazio A c1c2 - spazio
acromatico
Da XYZ ad Ac1c2 si usa la matrice:
-0.0177
-1.5370
0.1946
1.0090
1.0821
-0.2045
0.0073
0.3209
0.5264
Orienta il sistema di riferimento
secondo l’asse di massima
varianza; approssima lo spazio della
sensibilità retinica.
32
Spazi colore relativi digitali
•
•
•
•
HSI
HLS
HSV
CMY (sintesi sottrattiva dal bianco, utilizza
i colori complementari ciano, magenta e
giallo per la stampa)
33
Power
Point
34
Tinta
Saturazione
Luminosità
Tinta
Saturazione
Luminosità
80
175
156
Tinta
Saturazione
Luminosità
Tinta
Saturazione
Luminosità
80
250
200
80
100
100
Tinta
Saturazione
Luminosità
80
173
180
80
201
156
Tinta
Saturazione
Luminosità
80
250
100
35
L'algoritmo di conversione RGB->HSI
I=1/3*(R+G+B)
S=1-(3/(R+G+B))*a dove a è il minimo tra R, G e B
H=arcos((0.5((R-G)+(R-B)))/((R-G)^2+(R-B)*(G-B))^0.5))
se S=0 allora H non ha senso
se (B/I)>(G/I) allora H=360-H
è inoltre possibile normalizzare H a (0,1) con H=H/360
(output range: H=(0,1) oppure H=(0,360), S=(0,1), I=(0,1))
36
Spazio HLS
37
Da RGB a HLS
max=massimo tra R, G e B; min=minimo tra R, G e B
L=(max+min)/2
se max=min allora S=0 e H non ha senso
se L<=0.5 allora S=(max-min)/(max+min)
altrimenti S=(max-min)/(2-max-min)
delta=max-min
se R=max allora H=(G-B)/delta
se G=max allora H=2+(B-R)/delta
se B=max allora H=4+(R-G)/delta
H=H*60
se H<0 allora H=H+360
(output range: H=(0,360), L=(0,1), S=(0,1))
38
Spazio HSV
39
Da RGB a HSV
max=massimo tra R, G e B; min=minimo tra R, G e B
V=max
S=(max-min)/max
se S=0 allora H non ha senso
altrimenti delta=max-min
se R=max allora H=(G-B)/delta
se G=max allora H=2+(B-R)/delta
se B=max allora H=4+(R-G)/delta
H=H*60
se H<0 allora H=H+360
(output range: H=(0,360), S=(0,1), V=(0,1))
40
Gamma dei colori - gamut
41
Gamut mapping
Trasferire la gamma colori da un dispositivo all’altro
- Approccio locale: aggiusta solo i pixel fuori gamma
- Approccio globale: analizza tutti i pixel per trovare una
Soluzione (esempio semplice: gamma correction)
2 tipi di “fuori gamma”:
cromaticità non corrispondente --> RGB < 0
luminosità non corrispondente --> RGB > 1
42
Metodi globali:
• scalare tutti i valori RGB uniformemente
• scalare solo l’intensità lasciando invariata cromaticità
• ridurre la saturazione lasciando invariata tinta e intensità
• “clamping” dei valori in [0, 1]
• scalare i pixel in modo non uniforme anche quelli entro
la gamma
Metodi locali:
• cerca minimo e massimo nell’immagine e riscala i valori
nell’intervallo min-max: (Ci -min)/(max-min)
• riscala solo i pixel fuori gamma
• elabora statistica sull’immagine, scegli metodo locale o
globale
43
Tone mapping
• Adattare la ampia dinamica di una
immagine naturale o di sintesi alla limitata
dinamica di un monitor
• Dinamica naturale: 107 (luce lunare - luce
solare)
• Dinamica monitor: 102
• Dinamica immagine di sintesi: 103
44
2 problemi
• Riprodurre la dinamica dei toni (tone
mapping)
• Recuperare il colore corrispondente (color
constancy)
45
Uno standard per il trattamento del
colore digitale: ICC
• http://www.color.org/ (International Color Consortium)
• Secondo questo standard le immagini digitali non sono
memorizzate in spazi colore R,G,B, relativi, ma in un
formato di riferimento detto PCS (Profile Connection
Space).
• Il PCS garantisce una memorizzazione delle informazioni
cromatiche in uno spazio colore assoluto indipendente dai
dispositivi di rappresentazione. Allo stato attuale sono
utilizzabili due possibili PCS:
– lo spazio colore CIE XYZ
– lo spazio colore CIE L*a*b* con bianco di riferimento definito
dall'illuminante CIE D50.
46
ICC
• Il profilo ICC di un dispositivo è una trasformazione che
consente al software di trasformare il colore dallo spazio
colore assoluto PCS allo spazio colore relativo di un
dispositivo (RGB, CMY,…) e/o viceversa, per garantire
una corretta riproduzione e/o acquisizione del colore tra
dispositivi differenti.
• Questo standard è inoltre supportato dal sistema operativo
Windows dal 98 in poi e da MAC.
• I profili ICC possono essere realizzati per gli schermi e
per le stampanti, ma anche per dispositivi di input come
gli scanner e le fotocamere.
47
ICC: i profili
• Le trasformazioni definite in un color
profile riguardano sia il colore che il gamut
mapping
48
ICC: i profili
• Sono ancora pochi i produttori di dispostivi
hardware che forniscono i profili ICC dei
loro dispositivi (in genere sono file con
estensione .icc),
• Si possono acquistare prodotti
hardware/software in grado di determinare
con precisione i profili ICC:
– calibratori colore per gli schermi (spider),
– campioni di colore da acquisire con lo scanner
o la fotocamera.
49
ICC: lo schermo
• La determinazione del profilo ICC tramite un
calibratore di colore (che è un colorimetro) da
applicare allo schermo (CRT o LCD) e
collegare alla porta USB o RS232, garantisce
una corretta definizione del profilo anche in
presenza di qualsiasi regolazione effettuata
manualmente dall'operatore (per variare la
luminosità, il contrasto o la saturazione del
monitor)
50
ICC: i materiali digitali
• I colori uniformi si misurano con un colorimetro per determinare
i valori di tristimolo CIE X,Y,Z o i valori CIE L*a*b*. Oppure
tali valori sono riportati a corredo dei sistemi di ordinamento del
colore (Munsell…) o dei campionari colore (Pantone…).
• I colori delle tessiture dei materiali devono essere acquisiti
utilizzando campioni originali dei materiali, perché se si
utilizzano delle fotografie non si può avere nessuna certezza
sulle trasformazioni che il colore ha subito.
• Per la acquisizione delle tessiture dei materiali si consiglia
l'utilizzo diretto dello scanner che richiede una sola operazione
di determinazione dell'ICC tramite l'utilizzo di un target di colori
selezionati, come il ColorChecker, e un software di generazione
dei profili. Il vantaggio dello scanner sta nel fatto che dispone di
condizioni di illuminazione controllate e stabili, mentre con una
fotocamera digitale risulta più difficile controllare le condizioni
di illuminazione.
51
ICC: i materiali digitali
• Secondo i criteri dell’ICC una corretta gestione
digitale del colore richiede:
– Acquisizione del colore tramite profili ICC di input
(scanner, fotocamere, …..)
– Software di gestione del colore con PCS in spazio
colore assoluto
– Rappresentazione del colore tramite profili ICC di
output (display, stampanti, tipografia….)
52
Scarica

14_colore-2 - Università degli Studi di Milano