Post on 02-May-2015
1
Daniele Marini
Modelli del colore2 – Il colore digitale
2
RGB Color Display
1 pixel = 3 fosfori R,G,B, illuminati con intensità variabile
3
Quanti colori?
Bit Numero di colori1 21 22 22 43 23 84 24 165 25 326 26 647 27 1288 28 25616 216 65.536 (16 bit True Color)24 224 16.777.216 (True Color)32 232 24 bit True-Color + 8 bit Alpha Channel
4
RGB Color Display (24 bit: “TrueColor” )
5
6
TrueColor (24 bit)
7
256 Color Display (8 bit) (LUT)
“Palette”
8
Immagine a 256 colori
9
Approssimazione (“dithering”)
Immagine originale (TrueColor)
Immagine approssimata (256 colori)
10
Dithering
11
Palettes
12
Modello RGB
13
•Cromaticità dei fosfori e livello del bianco•Sono un sottoinsieme dei colori CIE
ESEMPIO:
Colori del Monitor RGB
x y
R 0.67 0.33
G 0.21 0.71
B 0.14 0.08
D65 0.313 0.329
14
Spazi colore: assoluti e relativiSpazi 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 ?
15
Da X Y Z a R G BDa X Y Z a R G B• I valori di tristimolo R G BR 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
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
=⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
γ
γ
γ
B
G
R
ZZZ
YYY
XXX
Z
Y
X
bgr
bgr
bgr
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
=⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
γ
γ
γ
B
G
R
ZZZ
YYY
XXX
Z
Y
X
bgr
bgr
bgr
16
Da XYZ a RGB e viceversaTrasformazione lineare:
•I coefficienti di M si ricavano dalle coordinate di cromaticità dei fosfori; nell’esempio un monitor standard.γ è il fattore di correzione gamma del monitor
17
Alcune matrici di trasformazione
XYZ - RGB
Spazio colore RGB
Bianco di riferim. γ M
Adobe RGB (1998) D65 2,2 0.576700 0.297361 0.0270328 0.185556 0.627355 0.0706879 0.188212 0.0752847 0.991248
Apple RGB D65 1,8 0.449695 0.244634 0.0251829 0.316251 0.672034 0.141184 0.18452 0.0833318 0.922602
BestRGB D50 2,2 0.632670 0.228457 0.000000 0.204556 0.737352 0.00951424 0.126995 0. 0341908 0.815696
Beta RGB D50 2,2 0.671254 0.303273 0.000000 0.174583 0.663786 0.040701 0.118383 0.0329413 0.784509
BruceRGB D65 2,2 0.467384 0.240995 0.0219086 0.294454 0.683554 0.0736135 0.188629 0.075451 7 0.993447
CIE E 2,2 0.488718 0.176204 0.000000 0.310680 0.8129 85 0.0102048 0.200602 0.0108109 0.989795
ColorM atch D50 1,8 0.509344 0.274884 0.0242545 0.320907 0.658132 0.108782 0.133969 0.0669845 0.692 174
DonRGB4 D50 2,2 0.645771 0.278350 0.00371134 0.193351 0.687970 0.0179862 0.125098 0.0336802 0.803513
ECI D50 1,8 0.650204 0.320250 0.000000 0.178077 0.602071 0.0678390 0.135938 0.0776791 0.757371
Ekta Space PS5 D50 2,2 0.593891 0.260629 0.000000 0.272980 0.734946 0.0419970 0.0973486 0.00442493 0.783213
NTSC C 2,2 0.606734 0.298839 0.000000 0.173564 0.586811 0.0661196 0.200112 0.114350 1.11491
PAL / SEC AM D65 2,2 0.430587 0.222021 0.0201837 0.341545 0.706645 0.129551 0.178336 0.0713342 0.939234
ProPhoto D50 1,8 0.797675 0.288040 0.000000 0.135192 0.711874 0.000000 0.0313534 0.000086 0.825210
SM PTE -C D65 2,2 0.393555 0.212395 0.0187407 0.365253 0.701049 0.111932 0.191659 0.0865558 0.958297
sRGB D65 ~2,2 0.412424 0.212656 0.0193324 0.357579 0.715158 0.119193 0.180464 0.0721856 0.950444
W ideGam ut D50 2,2 0.716105 0.258187 0.000000 0.100930 0.724938 0.0517813 0.147186 0.0168748 0.773429
18
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.
19
Confrontare i coloriPiccoli spostamenti nello spazio RGB o XYZ dannoluogo a grandi spostamenti percettivi:
Diagramma di Wrightdella distanza percettiva
20
Ellissi di MacAdam
Spazio CIE
21
Ellissi di MacAdam
spazio percettivo lineare
22
Spazio CIE L*a*b*• Alla base del sistema sta la definizione di
chiarezza relativa L*, così calcolata
• 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.
( )( ) ( )⎩
⎨⎧
≤⋅>−⋅
=0,008856 se 3,903
0,008856 se 16116 3*
nn
nn
YYYY
YYYYL
23
a* e b*: a* =500XXn
⎛
⎝ ⎜ ⎜
⎞
⎠ ⎟ ⎟
1/ 3
−YYn
⎛
⎝ ⎜ ⎜
⎞
⎠ ⎟ ⎟
1/3⎡
⎣
⎢ ⎢
⎤
⎦
⎥ ⎥
b* =200YYn
⎛
⎝ ⎜ ⎜
⎞
⎠ ⎟ ⎟
1/ 3
−ZZn
⎛
⎝ ⎜ ⎜
⎞
⎠ ⎟ ⎟
1/3⎡
⎣
⎢ ⎢
⎤
⎦
⎥ ⎥
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
24
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.
25
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
26
Distanza cromatica EDistanza euclidea in uno spazio colore percettivamenteuniforme
Distanza cromatica utile per trovare “colori corrispondenti”e risolvere “costanza cromatica”
( ) ( ) ( )2*
2*1
2*2
*1
2*2
*1
* bbaaLLEab −+−+−=
27
E94 (CIE La*b*)
222
94
**** ⎟⎟
⎠
⎞⎜⎜⎝
⎛
⋅
+⎟⎟⎠
⎞⎜⎜⎝
⎛
⋅
+⎟⎟⎠
⎞⎜⎜⎝
⎛
⋅
=HH
ab
CC
ab
LL SkH
SkC
SkL
E
22 *** baC ab += ⎟⎠
⎞⎜⎝
⎛=a
barcH tan
1=LS abC CS *0045.01 ⋅+= abH CS *0015.01 ⋅+=
1=== HCL kkk
28
Spazio CIE Lu*v*
29
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*
30
Interpolazione coloriin diversi spazi
RGB
XYZ
CIELUV
31
Spazio Y uvdetto 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.587 0.114 0.596 -0.274 -0.322 0.212 -0.523 0.311
32
Spazio A c1c2 - spazio acromatico
Da XYZ ad Ac1c2 si usa la matrice:
-0.0177 1.0090 0.0073 -1.5370 1.0821 0.32090.1946 -0.2045 0.5264
Orienta il sistema di riferimento secondo l’asse di massima varianza; approssima lo spazio della sensibilità retinica.
33
Spazi colore relativi digitali
• HSI
• HLS
• HSV
• CMY (sintesi sottrattiva dal bianco, utilizza i colori complementari ciano, magenta e giallo per la stampa)
34
Power Point
35
Tinta 80Saturazione 175Luminosità 156
Tinta 80Saturazione 201Luminosità 156
Tinta 80Saturazione 250Luminosità 200
Tinta 80Saturazione 100Luminosità 100
Tinta 80Saturazione 173Luminosità 180
Tinta 80Saturazione 250Luminosità 100
36
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))
37
Spazio HLS
38
Da RGB a HLSmax=massimo tra R, G e B; min=minimo tra R, G e B
L=(max+min)/2se max=min allora S=0 e H non ha sensose L<=0.5 allora S=(max-min)/(max+min)altrimenti S=(max-min)/(2-max-min)
delta=max-minse R=max allora H=(G-B)/deltase G=max allora H=2+(B-R)/deltase B=max allora H=4+(R-G)/delta
H=H*60se H<0 allora H=H+360
(output range: H=(0,360), L=(0,1), S=(0,1))
39
Spazio HSV
40
Da RGB a HSVmax=massimo tra R, G e B; min=minimo tra R, G e B
V=max
S=(max-min)/maxse S=0 allora H non ha sensoaltrimenti delta=max-minse R=max allora H=(G-B)/deltase G=max allora H=2+(B-R)/deltase B=max allora H=4+(R-G)/delta
H=H*60se H<0 allora H=H+360
(output range: H=(0,360), S=(0,1), V=(0,1))
41
Gamma dei colori - gamut
42
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 unaSoluzione (esempio semplice: gamma correction)
2 tipi di “fuori gamma”:cromaticità non corrispondente --> RGB < 0luminosità non corrispondente --> RGB > 1
43
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
44
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
45
2 problemi
• Riprodurre la dinamica dei toni (tone mapping)
• Recuperare il colore corrispondente (color constancy)
46
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.
47
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.
48
ICC: i profili• Le trasformazioni definite in un color
profile riguardano sia il colore che il gamut mapping
49
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.
50
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)
51
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.
52
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….)