background image

Modelowanie koloru

background image

fiolet 

-

niebieski

-

cyan

-

zielony 

-

ż

ółty

-

pomarańczowy

-

czerwony

Ś

wiatło 

widzialne 

stanowi 

wąski 

wycinek 

fal 

elektromagnetycznych  z  zakresu 

400nm  ÷ 700nm.  Fale 

400nm

700nm

Spektrum światła białego:

background image

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

nasycenie zerowe (barwy achromatyczne). 

e2

e1

λ

λ

λ

λ

[nm]

z dominującą długością fali

background image

Ś

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

Cyan

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

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.  Prawo  to  wyklucza  możliwość 
istnienia barwy nie sąsiadującej z barwami składowymi.

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

background image



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



ukierunkowane na użytkownika – HLS,  HSV



ukierunkowane na sprzęt – RGB, CMY, CMYK

background image

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]

składowe r(λ), g(λ), b(λwyznaczono 
dla L=< 360-830 nm> z krokiem co 1nm

Kolorymetr wizualny

background image



są nieujemne w całym zakresie widma



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



składowe x(λ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

background image

Diagram (wykres,  trójkąt)  chromatyczności CIE  jest  fragmentem

przestrzeni 

Stożek barw widzialnych 
w przestrzeni CIE XYZ

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

background image

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

background image

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.

background image

przestrzeń 

barw, 

która 

powstała 

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ń
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. 

background image

Kolor wypadkowy powstaje w wyniku addytywnego 
mieszania składowych podstawowych 

R

G

,

B. 

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

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

R

R

G

G

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)

background image

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



liczba możliwych kolorów: 2

×

×

×

× 

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

x

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

ekran

R                   G                   B

111111111111000000 19

0

255

.
.
.

24-bitowa tabela barw (LUT)

19

background image

W=KxLxBpp

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

– liczba kolumn obrazu
– 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,   

background image

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 

background image

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)

M

M

Y

Y

1

1

1

1

1

1

0

0

background image

tworzą neutralną szarość, która w modelu CMYK jest generowana przez 
czwartą barwę podstawową (blac- 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

background image

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

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

={0.4, 0.6, 0.9}

min

= 0.4

CMYK=(0.0, 0.2, 0.5, 0.4)

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

background image

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:  = s% k

max

- 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

= 0.2

background image



druk 

CMYK 

zawsze 

obniża 

łączne 

zużycie 

atramentu/farby w porównaniu z drukiem CMY



drukarki  stosują  własne  procedury  generowania  czerni,         
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

Definiowanie koloru

background image

Znaczenie i zakresy współrzędnych:

background image

// 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

background image

// 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;

background image

{

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

{

background image

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]

2.

Operacje pośrednie



interpolacja liniowa

C

C

1

+ (1- α)C

gdzie:  C

1

C

2  

– kolory znane

α – współczynnik mieszania kolorów

background image

3.

Nakładanie kolorów



wspólna krawędź

C

1

C

1

C

gdzie: α

1

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



obszary rozłączne

C

1

C

1

C

gdzie: α

1

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

C

1

C

2

C

1

C

2