Barva v počítačové grafice Poznámky k přednášce předmětu Počítačová grafika Martina Mudrová 2007
Barvy v počítačové grafice Co je barva? světlo = elmg. vlnění v rozsahu 4,3.1014 -7,5 .1014 Hz v id ite ln á č á s t s p e k tra
re n tg e n o v é z á ře n í z á ře n í g a m a
10
24
10
22
10
20
10
18
10
16
380
m ik ro v ln y
in fra č e rv e n é z .
u ltra fia lo v é z .
10
14
740
10
12
rá d io v é v ln y
10
10
10
8
fre k v e n c e [H z ]
vlnová délka [nm]
přepočet mezi frekvencí ν a vlnovou délkou λ: kde c... rychlost světla c=3.108ms-1
λ=
c
ν
achromatické světlo - obsahuje všechny frekvence v daném pásmu - zdroj: Slunce, žárovka - rozklad např. optickým hranolem monochromatické světlo – obsahuje sv. zdroj jedné barvy s dominantní frekvencí barva tělesa – dána schopností pohlcovat a odrážet záření o určitých frekvencích 2 M. Mudrová, 2004
Základní barvy
Barva
Rozsah vlnových délek
Rozsah frekvencí
červená
~ 625 – 800 nm
~ 480 – 375 THz
oranžová
~ 590 – 625 nm
~ 510 – 480 THz
žlutá
~ 565 – 590 nm
~ 530 – 510 THz
zelená
~ 520 – 565 nm
~ 580 – 530 THz
tyrkysová
~ 500 – 520 nm
~ 600 – 580 THz
modrá
~ 430 – 500 nm
~ 700 – 600 THz
fialová
~ 400 – 430 nm
~ 750 – 700 THz
3 M. Mudrová, 2004
Základní charakteristiky světla
Barva (barevný tón)... závisí na dominantí frekvenci Jas (svítivost, luminance) ...odpovídá intenzitě světla Sytost ...čistota barvy světla – - čím větší je sytost, tím užší je spektrum barevných frekvencí ve světle obsažených Světlost ... velikost achromatické složky ve světle s dominantní frekvencí Barevnost (chromaticity) ... slučuje sytost a dominantní frekvenci
Komplementární barvy: takové 2 barevné zdroje, jejichž složením vznikne bílé světlo 4 M. Mudrová, 2004
Lidské vnímání barev Lidské oko - je schopno rozeznat asi 400 000 barevných odstínů, - je schopno rozeznat asi 60 úrovní šedé - záleží na světelných podmínkách - záleží na vzdálenosti objektu a oka, rozměru objektu - záleží na osobnosti (věk, únava, ...) Receptory v lidském oku: - tyčinky - citlivá vrstva v sítnici, mimo žlutou skvrnu 130 miliónů, (porovnej s fotoaparátem) - umožňují vnímání světla - čípky - všude v sítnici, převážně ve žluté skvrně 6-7miliónů, umožňují barevné vidění, umožňují ostré vidění za den. světla vyřazeny za šera 3 typy: pro R, G, B – trichromatické vidění M. Mudrová, 2004
5
Lidské vnímání barev - příklad počet úrovní šedi: 80
40
20
10 (Machovy pásy)
6 M. Mudrová, 2004
Příklady optických klamů - vnímání tvarů a barev je ovlivněno také psychikou a dosavadními zkušenostmi osobnosti
7 M. Mudrová, 2004
Barevné rozlišení, bitová hloubka Co je barevná hloubka obrazu? Bitová hloubka? Barevné rozlišení? Barevná (bitová) hloubka obrazu = počet bitů, na nichž je uchována informace o jedné barvě v obrazu - může být rozšířena o další vlastnosti (průhlednost, blikání,....)
bit. hloubka
n 1 bit
0 1
2n
bílá
01
4
10
...
11
11111111
...
256
sv. šeď bílá tm. šeď černá černá
256 odstínů
...
8 bitů=1 Byte
(příklad)
2
00000000
Kvantifikace barev = proces převodu spojité změny intenzity téže barvy na konečný počet úrovní
počet b. BARVA
00 2 bity
Barevné rozlišení = celkový počet barev v obrazu
BITY
... 24 bitů=3 Byte
...
16 mil.
...
... M. Mudrová, 2004
8
Vytváření barev v PG Jak se vytváří barva na monitoru či tiskárně? základní otázky: 1. výběr základní množiny barev použitelných k namíchání bar. odstínů 2. volba způsobu míchání základních barev
(Commission Internationale d`Eclaire)
xλBΒ
barvy A, B, C : x=
A A+B+C
y=
B A+B+C
0,8
z=
C A+B+C
x+y+z=1
0,6
řešení: 1. Red, Green, Blue 0,4 Cyan, Magenta, Yellow C 2. Aditivní – čím více barvy, tím světlejší výsledek 0,2 Subtraktivní – čím více barvy, tím tmavší výsledek 0,2 0,4 důsledek: není možno nalézt takové 3 základní barvy, aby pokryly všechny odstíny viditelného spektra M. Mudrová, 2004
hranice viditelného spektra C...bílé světlo 0,6
0,8
λxΑ A 9
Barevný model RGB • jednoduše technicky realizovatelný • základní barvy: červená, zelená , modrá • aditivní míchání barev • RGBA - A...průhlednost (a - channel) • použití: monitory,…
B
1,0,1 fialová (magenta)
Yellow Green
Red
o
White Magenta
0,1,1 tyrkysová (cyan)
0,0,1 m odrá
t ds
ín
y
še
di
1,1,1 bílá
0,1,0 zelená
0,0,0 černá
Cyan 1,0,0 červená
Blue
G
1,1,0 žlutá
R
10 M. Mudrová, 2004
Barevný model CMY • základní barvy: tyrkysová, fialová, žlutá • subtraktivní míchání barev • CMYK - K=black - lepší kvalita černé - černá je nejlevnější inkoust • použití: tiskárny,…
Y 0,1,1 červená
0,0,1 žlutá
1,0,1 zelená
Red
od
Magenta
Cyan
0,0,0 bílá
Blue Blue Yellow Yellow
y
di
0,1,0
Black Green
ín st
še
1,1,1 černá
C
1,0,0 tyrkysová (cyan)
fialová M (magenta) 1,1,0 modrá
11 M. Mudrová, 2004
Barevný gamut = rozsah barev, které jsou dosažitelné v daném barevném prostoru 1. RGB, CMYK ... omezený barevný gamut 2. RGB x CMYK ... rozdílný barevný gamut důsledky: - nepřítomnost barev mimo bar. gamut => snaha o jejich přibližné zobrazení - rozdílný obraz na monitoru a na tiskárně - existují barevné vzorníky
12 M. Mudrová, 2004
Barevný model HSV Jak mám namíchat světlejší odstín téže barvy? Model HSV (HSB) H …barevný tón (hue), <0, 360°> udává převládající spektr. barvu S …sytost (saturation), <0,1> určuje čistotu barvy (-příměs jiných barev ) V (B)…jasová hodnota (value, brightness) <0,1> dána množstvím bezbarvého světla čisté barvy: obvod podstavy (V=1, S=1) dominantní barvy: plášť (S=1)
hodnota V (120o)G
Y o R(0 )
W
C
M
B (240 ) o
barevný tón H K
sytost S
13 M. Mudrová, 2004
Barevný model HLS Ale lidské oko špatně rozeznává barvy i při přemíře světla... Model HLS
světlost L
W
H …barevný tón (hue), <0, 360°> udává převládající spektr. barvu L …světlost (lightness), <0,1> velikost achromatické složky S …sytost (saturation) <0,1> určuje čistotu barvy (-příměs jiných barev ) nejjasnější čisté barvy: obvod podstavy (L=0.5, S=1)
G C
Y R
L=0.5 M
B
barevný tón H K
sytost S 14
M. Mudrová, 2004
Barevné modely CIE CIE L*a*b ... lineární L ... jas (lightness), <0, 100> (černá-bílá) a ... zeleno-červená stupnice, <-128, 127> b ... modro-žlutá stupnice <-128, 127>
CIE LCh ... polární (~ HLS) L ... jas (lightness), <0, 100> C ... sytost (saturation) <-128, 127> h ... barevný tón (hue), <0, 360°>
15 M. Mudrová, 2004
Další barevné modely Modely pro televizní a video techniku: YUV, YCBCR, YIQ -oddělení jasové složky (luminance) – Y (B) a barevné (chrominance) - ... YUV (UWB) ...norma PAL YIQ ....norma NTSC (Amerika) Y – jas I,Q – oranžové a modrozelené světlo YCBCR… norma SECAM, video, formát JPEG Y ∈ <0,1> - jas CB, CR ∈ <-0.5, 0.5> - modré a červené světlo převody s RGB modelem – jednoduché (maticové násobení) 16 M. Mudrová, 2004
Převody mezi barevnými modely
Převod RGB - CMY:
⎡ c ⎤ ⎡1⎤ ⎡ r ⎤ ⎢ ⎥ ⎢⎥ ⎢ ⎥ ⎢ m⎥ = ⎢1⎥ − ⎢ g ⎥ ⎢⎣ y ⎥⎦ ⎢⎣1⎥⎦ ⎢⎣ b ⎥⎦
Převod RGB - HLS, HSV:
Red a Cyan Green a Magenta Blue a Yellow
}
jsou komplementární barvy
! různé trojúhelníky v CIE diagramu (color gamut)
algoritmus - nedefinované hodnoty (např. H pro S=0),..... 17
M. Mudrová, 2004
ICC Profil Při přenosu obrázků se dále ještě nastavuje ICC profil. Co to je? ICC (International Color Consorcium) ... sdružení nejvýznamnějších firem zabývajících se barvami v PG (výrobci tiskáren, monitorů, fotobanky,...) ICC profil zařízení = popis barevného rozsahu zařízení, standardizováno CMS (Color Management System) = systém správy barev - zabezpečuje převod barevných dat do bar. prostoru nezávislého na zařízení a naopak výhoda: změna ICC profilu dává přehled o změnách ke kterým dojde při přenosu na jiné zařízení 18 M. Mudrová, 2004
Zápis barvy, barvy pro web Co to je (v html kódu) barva FF01A5? ... zpravidla v RGB – vyjádření 3 složek barvy v šestnáctkové soustavě bar. složka
dvojková
desítková
šestnáctková
R
1 1 1 1 1 1 1 1
255
FF
G
0 0 0 0 0 0 0 1
1
01
B
1 0 1 0 0 1 0 1
165
A5
bezpečné barvy pro web ... zobrazí se správně i na zařízení s bit. hloubkou 8 bit 19 M. Mudrová, 2004
Barevná reprezentace rastrového obrazu 1.
2.
true color: 3x8 bitů/1pixel ~ 16 mil. barev + popř. další bity vyhrazené dalším informacím,
R
G
B
3 x 0-255
indexový: použití palety, typicky 3-3-2 nebo vlastní paleta obrázku
R
5
3.
B
5 0 255 255
tyrkys
intenzitní: odstíny šedi – počet odstínů záleží na bitové hloubce, typicky 8bit/1pixel~256 odstínů šedi převod z RGB:
4.
G
I=0.299r+0.587g+0.114b
monochromatický obraz: 1bit/1pixel - černobílý
M. Mudrová, 2004
20
Redukce barev Jak mohu omezit bitovou hloubku obrazu? vstup: obraz RGB 3x8 bitů
original
R G B
cíl: obraz RGB 1x8 bitů
G
řešení: použití barevné palety (colormap)
R
B
Tvorba barevné palety: R
G
B
1.
standardní 3-3-2
2.
adaptivně vytvářená – na základě histogramu požadavky na oblasti v RGB krychli: 1. stejná velikost 2. stejný počet odstínů
3-3-2 G R
B
adaptivní G R
M. Mudrová, 2004
21
Příklad redukce barev I uniformní parametrizace
originál
R G B
neuniformní parametrizace
B
G
R
B
B G
R
G
R
1 1
1
0 .9
0 .9
0 .8
0 .8
0 .7
0 .7
0 .6
0 .6
0 .5
0 .5
0 .5
0 .4
0 .4
0 .4
0 .3
0 .3
0 .3
0 .2
0 .2
0 .2
0 .1
0 .1
0
0
0
10
20
30
40
50
60
0 .9 0 .8 0 .7 0 .6
0 .1 10
20
30
40
50
60
0
0
10
20
30
40
50
60
22 M. Mudrová, 2004
Rozptylování a polotónování = techniky pro omezení barevné palety - použití v barevném i v šedotónovém zobrazení polotónování (halftoning)
rozptylování (dithering)
=>
=>
=> =>
• dochází k zvětšení obrazu • různé rozptylovací matice • použití u tiskáren
• velikost obrazu je zachována • algoritmy: - náhodné rozptýlení - distribuce chyby (Floyd-Steinberg) 23
M. Mudrová, 2004
Příklad redukce barev II originál
černo-bílý
256 úrovní šedi
černo-bílý s ditheringem
24 M. Mudrová, 2004
Algoritmus náhodného rozptýlení Příklad: Vstup: šedotónový obraz s bit. hloubkou 4 bity/pixel (tj. 16 úrovní šedi - Ivst∈<0,15>) Cíl: Černobílý obraz – bitová hloubka 1bit/pixel ( Ivýst ∈ <0,1> ) Algoritmus náhodného rozptýlení: - pro každý pixel výst. obrazu: Ivýst=0 jestliže Ivst >= náh. číslo z <0,15> pak Ivýst = Ivýst+1 vlastnosti algoritmu: • pixely s Ivst=0 budou mít Ivýst=0 (černý p. zůstane černý) • pixely s Ivst=15 budou mít Ivýst=1 (bílý p. zůstane bílý) • pixely s Ivst ∈(0,15) budou černé či bílé se zachováním jasových poměrů v obrázku díky porovnání Ivst s náhodným číslem 25 M. Mudrová, 2004