1 Daniele Marini Modelli del colore 2 – Il colore digitale

Preview:

Citation preview

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….)

Recommended