GK 10 modelowanie koloru

background image

Grafika komputerowa

Grafika komputerowa

Modelowanie koloru

background image

Światło widzialne

fiolet

-

niebieski

-

cyan

-

zielony

-

ż

ółty

-

pomarańczowy

-

czerwony

Ś

wiatło widzialne stanowi wąski wycinek fal

elektromagnetycznych z zakresu 400nm ÷ 700nm.
Fale dłuższe (podczerwień) i krótsze (nadfiolet) są dla
oka ludzkiego niewidoczne.

Ś

wiatło białe składa się ze wszystkich długości fal

widma.

400nm

700nm

Spektrum światła białego:

background image

Wrażenie koloru - czynniki

Barwa (ang. hue) – określana przez dominującą długość fali, czynnik
jakościowy – to co odróżnia np. zieleń od błękitu.

Nasycenie (ang. saturation) – określane jako stosunek energii dominującej
długości fali e

2

do wypadkowej energii e

1

pozostałych fal tworzących widmo

ś

wietlne. Nasycenie (czystość barwy) jest tym większe, im większa jest

wartość e

2

w stosunku do e

1

. Dla e

1

=0 nasycenie maksymalne, dla e

2

=e

1

nasycenie zerowe (barwy achromatyczne).

Jasność (ang. ligthness) – określana stopniem podobieństwa barwy do bieli
(dla odcieni jasnych) czy czerni (dla odcieni ciemnych), czynnik ilościowy
proporcjonalny do całki z widmowego rozkładu energii światła.

e2

e1

λ

λ

λ

λ

[nm]

P(λ)

Widmowy rozkład energii światła
z dominującą długością fali

background image

Barwy podstawowe, barwy dopełniające

Ś

wiatło białe można uzyskać mieszając w odpowiednich

proporcjach tylko kilka barw: np. barwę czerwoną, zieloną
i niebieską w stosunku 26:66:8.

Takie trójki czy pary barw, które w sumie dają światło
białe nazywamy

barwami dopełniającymi. Dla barwy

czerwonej (656 nm) barwą dopełniającą jest cyjan (492
nm), dla żółtej (574 nm) niebieska (482 nm).

Barwy, którymi opisujemy inne nazywane są

barwami

podstawowymi. Nie istnieje „najlepszy” zestaw barw
podstawowych.

background image

Prawa Grassmana

Cyan

Yellow

Magenta

R

B

G

Model RGB

Model CMY

I prawo – prawo trójchromatyczności

Każda dowolna barwa może być odwzorowana za pomocą
trzech liniowo niezależnych barw.

Trzy barwy tworzą układ niezależnych liniowo jeżeli
dowolne zsumowanie dwóch z nich nie może dać trzeciej
barwy układu.

uwaga: twierdzenie odwrotne nie jest prawdziwe, tzn. z
dowolnie wybranych trzech liniowo niezależnych barw, nie
da się utworzyć wszystkich barw.

background image

Prawa Grassmana

II prawo – prawo ciągłości

W mieszaninie złożonej z dwóch barw, stopniowa
zmiana barwy jednego ze składników pociąga za sobą
stopniową zmianę barwy mieszaniny.

Alternatywne sformułowanie: przy ciągłej zmianie
długości fali promieniowania barwa zmienia się w
sposób ciągły.

III prawo – prawo addytywności

Barwa mieszaniny zależy jedynie od barw jej
składników, a nie od ich składu widmowego.

background image

Modele koloru



niezależne od urządzenia – CIE XYZ, CIE La*b*



ukierunkowane na użytkownika – HLS, HSV(HSB)



ukierunkowane na sprzęt – RGB, CMY, CMYK

background image

Model CIE XYZ



opracowany w 1931 r. przez Międzynarodową Komisję Oświetleniową (CIE)



zdefiniowany na podstawie systemu CIE RGB, w którym doświadczalnie za
pomocą kolorymetru wizualnego określono wartości składowych
trójchromatycznych r(λ), g(λ), b(λ) widma światła widzialnego L



składowe r(λ), g(λ), b(λ) określają względny udział barw podstawowych
R, G i B potrzebnych do wywołania takiego samego wrażenia jak barwa
widmowa

- światła wzorcowe: R[700 nm]

G[546 nm]
B[435 nm]

- L (lambda): światlo badane

- składowe r(λ), g(λ), b(λ) wyznaczono dla

L=< 360-830 nm> z krokiem co 1nm

Kolorymetr wizualny

background image

Przestrzeń kolorów CIE XYZ



składowe trójchromatyczne x(λ), y(λ), z(λ) otrzymane w wyniku
przekształceń liniowych składowych r(λ), g(λ), b(λ) systemu CIE RGB



są nieujemne w całym zakresie widma



składowa y(λ) – informacja o strumieniu światła (luminancja, jasność)



składowe x(λ) i z(λ) – informacja o barwie (chromatyczność)



w przestrzeni CIE XYZ kolory widzialne są zawarte w bryle zbliżonej do
stożka o wierzchołku w początku układu współrzędnych

Składowe trójchromatyczne w układzie CIE XYZ

background image

Diagram chromatyczności CIE

Diagram

(wykres, trójkąt) chromatyczności

CIE jest fragmentem

przestrzeni CIE XYZ wyciętej przez trójkąt

ograniczony osiami XYZ

leżący na płaszczyźnie X+Y+Z=1,

obszar zbliżony kształtem do trójkąta,

zamknięty dwiema liniami - krzywą i prostą.

Stożek barw widzialnych
w przestrzeni CIE XYZ

Rzuty płaszczyzny X+Y+Z=1
w przestrzeni CIE XYZ

background image

Diagram chromatyczności CIE

- krawędź części krzywoliniowej - barwy podstawowe widma światła białego
- krawędź dolna - purpury, powstałe przez zmieszanie w różnych proporcjach
skrajnych barw widma światła białego (380nm światła fioletowego i 780nm światła
czerwonego)
- barwy w pełni nasycone (czyste) na krawędziach, nienasycone wewnątrz trójkąta
- środek diagramu (C) jest punktem bieli o współrzędnych x=0,333, y=0,333
- barwa zmienia się wraz z kątem obrotu wokół punktu środkowego, nasycenie
zmienia się wzdłuż linii prostych przechodzących przez ten punkt.

background image

Diagram CIE- wykorzystanie

1. Wyznaczanie nasycenia barwy

Nasycenie barwy A jest określone
proporcją:

s = AC / BC

2. Dodawanie barw:

Barwę A można otrzymać jako mieszaninę
barwy B i światła białego C w proporcji
określonej przez długości odcinków AC i
BC

3. Wyznaczanie barw dopełniających

Dopełniające pary barw wyznaczone są
przez końce dowolnych odcinków
przechodzących przez punkt C (światło
białe). (Np. barwy B i G lub D i E.

4. Wyznaczanie dominującej długości fali

Dominującą długością fali barwy A jest
długość fali barwy B.

background image

Model CIE La*b*

Zawiera najszerszą zdefiniowaną matematycznie
przestrzeń

barw, która powstała w wyniku

przekształcenia modelu CIE XYZ. Każdy inny
model koloru da się opisać we współrzędnych
La*b*, ale nie na odwrót. Model jest niezależny
od urządzeń wejścia/wyjścia. Wykorzystywany
do obliczeń na barwach i wyznaczania stopnia
podobieństwa barw w systemach zarządzania
barwami CMS (Color Management System).

Wszystkie barwy o jednakowej jasności leżą na
powierzchni kołowej wyznaczonej osiami a* i b*:

- oś a* - barwy od czerwonej do zielonej
- oś b* - barwy od żółtej do niebieskiej

Jasność L zmienia się w kierunku pionowym.

Kolor wynikowy określany jest przez parametry L oraz a* i b*. Zakres zmienności
parametrów definiowany jest w programach graficznych. Np. w CorelDraw:

- a* i b*=<-60;+60>, L=<0,100>
- dostępna liczba kolorów: 121x121x101=1 478741
- różnica między 2 barwami: ∆E = [(∆L)

2

+ (∆a*)

2

+ (∆b*)

2

]

½

background image

Model RGB

Kolor wypadkowy powstaje w wyniku addytywnego
mieszania składowych podstawowych

R

,

G

,

B.

czerwony (Red)

-

zielony (Green)

-

niebieski (Blue)

Model wykorzystywany:



w sprzęcie tworzącym obraz w wyniku emisji
ś

wiatła: monitory, projektory, skanery, cyfrowe

aparaty fotograficzne



do sprzętowej reprezentacji (opisu) pikseli w
systemach komputerowych

background image

Model RGB

Kolor - punkt w przestrzeni ograniczonej
sześcianem jednostkowym, definiowany
przez trójkę (r,g,b)

R

R

G

G

B

B

1

1

1

1

1

1

0

0

Kolory podstawowe:
R = (1,0,0)
G = (0,1,0)
B = (0,0,1)
Kolory dopełniające:
C = (0,1,1)
M = (1,0,1)
Y = (1,1,0)

Kolor czarny = (0,0,0)
Kolor biały = (1,1,1)
50% szarość = (0.5, 0.5, 0.5)

background image

Sprzętowa reprezentacja koloru

Obraz binarny:

:



liczba możliwych kolorów: 2



wartość koloru: { 0, 1 }



głębokość bitowa: 1

Wartość koloru - liczbowa reprezentacja barwy piksela

ębokość bitowa - liczba bitów przeznaczona do zapisu

wartości koloru

background image

Sprzętowa reprezentacja koloru

High Color:

:



liczba możliwych kolorów: 2

3 ×

×

×

×

5

lub 2

(5+6+5)

= 32 768 lub 65 536



wartość koloru: { R, G, B }, gdzie R, G, B ∈<0, 31> lub <0, 63>



głębokość bitowa: 15 lub 16 bitów (2 bajty)

True Color:

:



liczba możliwych kolorów: 2

8×

×

×

×

3

= 16 777 216



wartość koloru: { R, G, B }, gdzie R, G, B ∈<0, 255>



głębokość bitowa: 24 bity (3 bajty ze składowymi R,G,B)

background image

Paleta barw –

Look-Up Table

x

y

pamięć obrazu
o gł
ębokości
8 bitów/piksel

ekran

11111111 11111111 00000000

R G B

111111111111000000 19

0

255

.
.
.

24-bitowa tabela barw (LUT)
wskazywana indeksem 8-bitowym

19

Liczba możliwych do uzyskania kolorów: 2

8×

×

×

×

3

= 16 777 216.

Kolor wybierany z palety 256 kolorów.
Zawartość tabeli barw może być w sposób dynamiczny zmieniana.

background image

Wielkość pamięci obrazu

W = K x L x Bpp

gdzie:

Bpp – głębokość bitowa (bit per pixel)

K – liczba kolumn obrazu

L – liczba linii obrazu

Obraz binarny:
800×

×

×

×

600x1 = 60000B = 60000/1024 KB = 58,6KB

Obraz True Color:
800×

×

×

×

600×

×

×

×

24 = 14400000B = 14400000/1024/1024 MB = 1,373MB

1280×

×

×

×

1024×

×

×

×

24 = 3932160B = 3,75MB

background image

Model CMY

Model wykorzystywany w sprzęcie tworzącym obraz w wyniku
nakładania na nośnik barw podstawowych: drukarki, plotery

Kolor wypadkowy powstaje w wyniku substraktywnego mieszania
ś

wiatła odbitego od podłoża.

Pigment farby/atramentu pochłania określone długości fal, a odbija
pozostałe. Np. fiolet (M) pochłania ze światła białego składową G,
odbija składowe R i B.

background image

Model CMY

Kolor - punkt w przestrzeni ograniczonej
sześcianem jednostkowym, definiowany
przez trójkę (c,m,y)

Kolory podstawowe:
C = (1,0,0)

cyan

M = (0,1,0)

magenta

Y = (0,0,1)

yellow

Kolory dopełniające:
R = (0,1,1)
G = (1,0,1)
B = (1,1,0)

Kolor czarny = (1,1,1)
Kolor biały = (0,0,0)
50% szarość = (0.5, 0.5, 0.5)

C

C

M

M

Y

Y

1

1

1

1

1

1

0

0

background image

Model CMYK

W modelu CMY równe ilości trzech barw podstawowych (c=m=y) tworzą
neutralną szarość, która w modelu CMYK jest generowana przez czwartą barwę
podstawową

K (blacK - czarny).

(

(

(

+

0.2

0.4

0.4

0.4

0.5

0.6

0.4

0.9

C M Y

)

)

)

(

(

(

+

0.2

0.4

0.5

0.2 0.5

C M Y K

)

)

)

0.4

CMY = (c, m, y) → CMYK = (c - k, m - k, y - k, k)

Wartość składowej K:

k = min {c, m, y}

background image

Procedury generowania czerni

W celu poprawy jakości druku (kolorystyka, kontrast)
barwa czarna K zastępuje (całkowicie lub częściowo) tą
część barw modelu CMY, które tworzą neutralne odcienie
szarości.

Procedury generowania czerni:



UCR (Under Color Removal) - usuwanie koloru
neutralnego



GCR (Gray Component Replacement) - zamiana
szarego składnika

background image

UCR (

Under Color Removal

)

UCR - odtwarza neutralną szarość jedynie przy pomocy
czarnego atramentu. Zamiana CMY na CMYK:

(c,m,y,k) = (c-k

max

, m-k

max

, y-k

max

, k

max

)

CMY=(0.4, 0.6, 0.9)
k

max

= min {0.4, 0.6, 0.9} = 0.4

CMYK=(0.0, 0.2, 0.5, 0.4)

ilość atramentu:
CMY=40%+60%+90%=190%
CMYK=0%+20%+50%+40%=110%

Aby czarny atrament nie powodował
„brudnego”

wyglądu odcieni jasnych

(świateł),

UCR

stosuje

się

od

określonego poziomu neutralnej szarości
(od 0.5÷0.6).

CMY

CMYK

background image

GCR (

Gray Component Replacement

)

GCR - odtwarza tylko część neutralnej szarości przy pomocy
czarnego atramentu: Zamiana CMY na CMYK:

(c,m,y,k) = (c-g, m-g, y-g, g)

gdzie:

g = s% k

max

s - zadany stopień zastępowania neutralnej szarości.

Przykład:

CMY = (0.4, 0.6, 0.9), s=50%,

k

max

= 0.4

g = 50%

k

max

= 0.2

CMYK = (0.2, 0.4, 0.7, 0.2)

ilość atramentu: CMY=40%+60%+90%=190%

CMYK=20%+40%+70%+20%=150%

background image

Uwagi



druk

CMYK

zawsze

obniża

łączne

zużycie

atramentu/farby w porównaniu z drukiem CMY



drukarki stosują własne procedury generowania
czerni, a więc nie mamy kontroli nad tym procesem



przy wyznaczaniu wartości neutralnych odcieni
szarości

urządzenia

drukujące

posługują

się

krzywymi

mieszania

atramentów

(tonerów)

uwzględniającymi ich wpływ na „brudzenie” odcieni
jasnych

background image

Model HLS

Znaczenie i zakresy współrzędnych:
H: hue - barwa o wartościach z przedziału: od 0 do 360 stopni
L: ligthness – jasność z przedziału 0...1 albo 0...100%
S: saturation - nasycenie koloru z przedziału 0...1 albo 0...100%

Definiowanie koloru

background image

Model HSV (HSB)

Znaczenie i zakresy współrzędnych:
H: hue - barwa o wartościach z przedziału: od 0 do 360 stopni
S: saturation - nasycenie koloru z przedziału 0...1 albo 0...100%
V(B): value (brigthness) – wartość (jaskrawość) z przedziału 0...1 albo
0...100%

background image

Algorytm przejścia od RGB do HLS

// konwersja RGB -> HLS (wg Travisa)
// zakresy zmiennych: r[0,1], g[0,1], b[0,1], h[0,360], l[0,1], s[0,1]

void rgb2hls (double r, double g, double b, double &h, double &l, double &s)
{

double max = max (max (r,g),b);
double min = min (min (r,g),b);

l = (max + min) / 2

// wyznaczenie jasności l

if (max = min) {

s = 0; h = 0; }

// wartość niezdefiniowana – kolory achromatyczne

else

{

if (l <= 0.5) s = (max - min)/(max + min);

// wyznaczenie nasycenia s

else s = (max -min) / (2 - max - min);

//

if (r = max) h = (g - b) / (max - min); // wyznaczenie barwy h
else if (g = max) h = 2 + (b - r) / (max - min);

//

else if (b = max) h = 4 + (r - g) / (max - min);

//

h = h * 60;

// konwersja h na stopnie

if (h < 0.0) h += 360;

}

}

background image

Algorytm przejścia od HLS do RGB

// konwersja: HLS -> RGB (wgTravisa)

// zakresy zmiennych: h[0,360], l[0,1], s[0,1], r[0,1], g[0,1], b[0,1]

// funkcja pomocnicza: value

#include <math.h>

inline double value (double nl, double n2, double h)

{

if (h > 360) h -= 360;

else if (h < 0) h += 360;

if (h < 60) return nl + (n2 - nl) * h / 60.0;

if (h < 180) return n2;
if (h < 240) return nl + (n2 - nl) * (240 - h) / 60.0;

return nl; // (h < 360)

}

background image

Algorytm przejścia od HLS do RGB – cd.

void hls2rgb (double h, double l, double s, double &r, double &g,

double &b)

{

double m1, m2;
if (l <= 0.5)

m2 = l * (1.0 + s);

else

m2 = l + s - l * s;

m1 = 2.0 * l - m2;
if (s == 0)

r = g = b = l;

else

{

r = value (m1,m2,h + 120);

//wyznaczenie wartości r,g,b

g = value (m1,m2,h);
b = value (m1,m2,h - 120);

}

}

background image

Obliczenia w przestrzeni kolorów – modele liniowe
RGB, CMY, CIE XYZ

C

1

=[r

1

, g

1

, b

1

]; C

2

=[r

2

, g

2

,b

2

]; gdzie: r

n

, g

n

, b

n

<0;1>;

1. Operacje bezpośrednie



dodawanie kolorów

C

1

+C

2

=[r

1

+r

2

, g

1

+g

2

, b

1

+b

2

]



mnożenie przez skalar

α

C=[αr, αg, αb] α

<0;1>;

2. Operacje pośrednie

background image

Obliczenia w przestrzeni kolorów – modele liniowe
RGB, CMY, CIE XYZ

3.

Nakładanie kolorów



wspólna krawędź

C

1

C

1

2

C

2

gdzie: α

1

2

<0;1> – współczynnik pokrycia obszaru



obszary rozłączne

C

1

C

1

2

C

2

gdzie: α

1

2

<0;1> – współczynnik pokrycia obszaru



obszary pokrywające się

C=F

1

C

1

+F

2

C

2

gdzie: F

1

,F

2

– udział obszarów C

1

,C

2

w wypadkowym pokryciu obszaru

C

1

C

2

C

1

C

2

C

1

C

2

background image

Cieniowanie - porównanie

a)

model nieoświetlony

b)

cieniowanie stałą barwą wielokąta

c)

cieniowanie metodą Gourauda

d)

cieniowanie metodą Phonga

background image

Cieniowanie Gourauda

1.

Wyznaczenie barwy w wierzchołkach trójkąta:
- wyznaczenie wektorów normalnych do wszystkich wierzchołków

jako średniej arytmetycznej wektorów normalnych wszystkich ścian,
do których ten wierzchołek należy.

- na podstawie wektora normalnego wyznaczenie barwy wierzchołka

korzystając z wybranego modelu oświetlenia

2.

Liniowa interpolacja barwy dla wszystkich punktów wielokąta zgodnie
z zaprezentowanymi wzorami

.

background image

Cieniowanie Phonga

Cieniowanie metodą Phonga polega na interpolacji wektora normalnego dla
każdego punktu wielokąta, a następnie wyznaczenie na tej podstawie
intensywności barwy.

Etapy:
1.

Wyznaczenie wektorów normalnych do wszystkich wierzchołków wielokąta
jako średniej arytmetycznej wektorów normalnych wszystkich ścian, do
których ten wierzchołek należy.

2.

Liniowa interpolacja wartości wektorów normalnych dla wszystkich punktów
wielokąta (dla wszystkich pikseli):
2.1. Interpolacja wzdłuż krawędzi;
2.2. Interpolacja wzdłuż linii horyzontalnych.

3.

Na podstawie wartości wektorów normalnych wyznaczenie barwy dla
wszystkich punktów wielokąta zgodnie z przyjętym modelem oświetlenia


Wyszukiwarka

Podobne podstrony:

więcej podobnych podstron