Grafika komputerowa
Adam Wojciechowski
Grafika komputerowa
Grafika komputerowa podstawowe pojęcia i
zastosowania
Grafika komputerowa - definicja
Grafika komputerowa - dział informatyki zajmujący się
wykorzystaniem komputerów do
generowania obrazów oraz wizualizacją rzeczywistych danych. Grafika
komputerowa jest obecnie narzędziem stosowanym powszechnie w nauce,
technice, kulturze oraz rozrywce.
Grafika komputerowa - podział
• Grafika rastrowa - obraz jest budowany z prostokątnej siatki leżących blisko siebie punktów (tzw. pikseli). Głównym
parametrem w przypadku
grafiki rastrowej jest wielkość bitmapy, czyli liczba pikseli,
podawana na ogół jako wymiary prostokąta
• Grafika wektorowa - obraz jest rysowany za pomocą
kresek lub łuków
Technika tworzenia obrazów
Grafika komputerowa - podział
Charakter przedstawianych danych
• Grafika dwuwymiarowa 2D - wszystkie obiekty są płaskie (w szczególności każdy obraz rastrowy wpada do tej kategorii).
• Grafika trójwymiarowa 3D - obiekty są umieszczone w
przestrzeni trójwymiarowej i celem programu komputerowego jest przede wszystkim przedstawienie trójwymiarowego świata na
dwuwymiarowym obrazie.
Cykl generacji obrazu
• Grafika nieinterakcyjna
• Grafika interakcyjna
• Grafika czasu rzeczywistego
Grafika - zastosowania
Wizualizacja naukowa
Grafika - zastosowania
Obróbka obrazów - usuwanie szumów (analiza Fouriera)
Powierzchnia monokryształu Au
Grafika - zastosowania
Obróbka obrazów - wzmacnianie krawędzi (transformata Laplace’a)
przed po
przed po
- szukanie krawędzi (metoda gradientów)
Grafika - zastosowania
Edukacja - wizualizacja:
- kształtów brył i powierzchni (matematyka) - związków chemicznych (chemia)
- mapy topograficzne i struktury geologiczne (geografia)
Grafika - zastosowania
Wizualizacja medyczna - tomografia
komputerowa, rezonans magnetyczny
Grafika - zastosowania
Projektowanie komputerowe CAD
Grafika - zastosowania
Film i rozrywka
Pixar: Toy story 1995
Universal: Jurassic Park 1993
Grafika - zastosowania
Gry komputerowe stymulują rozwój oprogramowania i sprzętu
Microsoft: Age of Empire 1
Grafika - oczekiwania a możliwości
Oczekiwania
Możliwość uzyskania najwierniejszego odtworzenia rzeczywistości w możliwie najkrótszym czasie
Środki
Komputery Oprogramowanie
Grafika komputerowa
Teoria światła i barwy
fiolet - niebieski - cyan - zielony - żółty - pomarańczowy - czerwony
Światło białe składa się ze wszystkich długości fal elektromagnetycznych z zakresu widzialnego
(400nm ÷ 700nm), występujących w nim w równych ilościach.
Ś Ś wiatło wiatło
400nm 700nm
Spektrum światła białego:
Powstawanie wrażenia barwy
1. Od źródła światła do człowieka
Światło może docierać do oka bezpośrednio ze źródła światła lub po odbiciu
od obiektu.
Postrzegana barwa obiektu zależy od barwy światła
i od tego, które długości fal
potrafi odbijać.
2. Z oka do mózgu
• Na siatkówce oka tworzony jest pomniejszony i odwrócony obraz obserwowanego obiektu.
• Receptory siatkówki przekształcają informację o natężeniu światła i długości fal świetlnych na impulsy, które przez nerw wzrokowy przesyłane są do mózgu.
• Mózg interpretuje te informacje jako jasność
i barwę.
Rodzaje receptorów siatkówki:
Pręciki (120 milionów) rozpoznają poziomy
jasności i odpowiadają za widzenie o zmroku.
Czopki (6,5 miliona) reagują na kolor.
Istnieją trzy typy czopków, przy czym każdy osiąga wysoką czułość dla innego zakresu widma
optycznego.
Funkcja czułości czopków na kolor [FOLE95]
Trzecie prawo Grassmana
Każdą dowolnie wybraną barwę można otrzymać za pomocą trzech liniowo niezależnych barw.
Trzy barwy tworzą układ niezależnych liniowo barw, jeżeli dowolne zsumowanie dwóch z nich nie może dać trzeciej barwy układu.
Cyan
Yellow R Magenta
G B
Krzywa fotometryczna CIE. Statystyczny wynik eksperymentu dopasowania jaskrawości światła pochodzącego ze źródła monochromatycznego do różnych długości fali (1924r., 100 obserwatorów)
Zmienia się wraz z długością fali L = 0,299R + 0,587G + 0,114B
Czułość oka na jasność światła
e2
e1 λ
Atrybuty barwy Atrybuty barwy
Odcień barwy (kolor, ton, Hue) - różnica jakościowa barwy (np. czerwony, zielony), określana w fizyce przez dominującą długość fali.
Nasycenie (Saturation) - odstępstwo barwy od bieli (np. czerwień, róż, biel), określane w fizyce przez czystość pobudzenia (e
2-e
1) Jasność (wartość, Value) - wskazuje czy
barwa jest bliższa bieli czy czerni (np. czysta biel, szarości, czerń), w fizyce jest
proporcjonalna do całki z widmowego rozkładu
energii.
Grafika komputerowa
Modele barw
„Jeżeli w grafice komputerowej chcemy korzystać z barw w sposób precyzyjny, to musimy umieć je określić i mierzyć.”
J. Foley
1. Model barw RGB
Ukierunkowany jest na sprzęt tworzący barwę w wyniku
emisji światła: monitory, skanery, cyfrowe aparaty fotograficzne.
Spektrum monitora:
czerwony (Red) - zielony (Green) - niebieski (Blue)
Grupa trzech plamek luminoforów emituje światło
o barwach R, G, B. Barwa piksela jest addytywną
mieszaniną tych barw.
Barwa piksela = (r,g,b)
R R
G G B B
1 1
1 1 1 1
0 0
R = (1,0,0) G = (0,1,0) B = (0,0,1) C = (0,1,1) M = (1,0,1) Y = (1,1,0)
czarna = (0,0,0) biała = (1,1,1)
neutralna 50% szarość =
(0.5, 0.5, 0.5)
Sprzętowe tryby barwy RGB Sprzętowe tryby barwy RGB
Wartość barwy - liczbowa reprezentacja barwy piksela.
Głębokość bitowa - liczba bitów przeznaczona w danym trybie RGB do zapisu wartości barwy.
Obraz dwubarwny:
Obraz dwubarwny:
• liczba możliwych do uzyskania barw: 2,
• wartość barwy: { 0, 1},
• głębokość bitowa: 1.
Obraz w skali Obraz w skali
szarości szarości (256 odcieni) (256 odcieni)
28 = 256 25 = 32 24 = 16 23 = 8 22 = 4 21 = 2
Skale szarości:
Paleta barw:
Paleta barw:
• liczba możliwych do uzyskania barw:
wybrana z określonej gamy barw, np. 2
8= 256,
• wartość barwy: { 0, 1, 2, ..., 255 },
• głębokość bitowa: 8.
x
y
Pamięć obrazu o głębokości 8 bitów/piksel
ekran
111111111111000000 19 0 255 . . .
Tabela barw LUT (Look-Up Table) wskazywana indeksem
8-bitowym
19
RAMDAC = LUT + DAC
00000 111111
111111
Zamień sygnał cyfrowy na analogowy
DAC (Digital to Analog Converter)
True True Color Color : :
• liczba możliwych do uzyskania barw:
2
8×3= 16 777216,
• wartość barwy: { R, G, B }, gdzie R, G, B ∈<0,255>,
• głębokość bitowa: 24.
Palety pośrednie:
Palety pośrednie:
• liczba możliwych do uzyskania
barw: 2
3 × 5= 32 768 lub 2
(5+6+5)= 65 536,
• wartość barwy: { R, G, B },
• głębokość bitowa: 15 lub 16.
Obliczenie wielkości pamięci obrazu:
Obliczenie wielkości pamięci obrazu:
(n×m) × głębokość bitowa barwy
Obraz True Color:
800×600×24 = 1,37 MB, 1024×768×24 = 2,25 MB Obraz dwubarwny:
800×600 bitów = 60000B = 60000/1024 KB = 58,6KB
1B = 8 bitów, 1KB = 1024B, 1MB = 1024KB
n
m
2. Model barw CMY 2. Model barw CMY
Ukierunkowany jest na
sprzęt drukujący: drukarki, maszyny drukarskie.
Cyan - Magenta - Yellow
Barwy podstawowe:
Pigment farb/atramentów pochłania określone
długości fali, a odbija pozostałe. Dlatego farby druku
C, M, Y nazywa się subtraktywnymi.
Barwa piksela = (c,m,y)
C C
M M Y Y
1 1
1 1 1 1
0 0
C = (1,0,0) M = (0,1,0) Y = (0,0,1) R = (0,1,1) G = (1,0,1) B = (1,1,0)
czarna = (1,1,1) biała = (0,0,0)
neutralna 50% szarość = (0.5, 0.5, 0.5)
3. Model barw CMYK 3. Model barw 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)
k
max= {c, m, y}
minReprodukcja barwy CMYK Reprodukcja barwy CMYK
1. Drukarki komputerowe 1. Drukarki komputerowe
Drukarki komputerowe drukują na rastrze małe punkty o stałej wielkości. Aby uzyskać odcienie koloru stosuje się rastrowanie bazujace na mikrowzorach lub stochastyczne.
Mikrowzory po lewo, rastrowanie stochastyczne po prawo (powiększenie) [„The theory and practice of color”, dokumentacja drukarki Epson Stylus Color].
2. Maszyny drukarskie 2. Maszyny drukarskie
Maszyny drukarskie drukują w oczkach rastra punkty
o różnej wielkości, nazywane
półtonami.
Kolorowe materiały ilustracyjne CMYK rozbija się dla druku nakładowego na cztery obrazy, tzw. wyciągi (separacje) barwne.
Każdy wyciąg jest utworzony na oddzielnym rastrze.
[FOLE95]
3. Podsumowanie 3. Podsumowanie
1. 1. Ze względu na zanieczyszczenie atramentów
wydrukowana barwa CMYK różni się od barwy CMY.
UCR (Under Color Removal) - odtwarza neutralną szarość jedynie przy pomocy czarnego atramentu, k=kmax:
CMY = (0.4, 0.6, 0.9), kmax = 0.4, CMYK = (0.0, 0.2, 0.5, 0.4)
ilość atramentu:
CMY = 40%+60%+90% = 190%
CMYK = 0%+20%+50%+40% = 110%
GCRGCR (Gray Component Replacement) - zamienia na atrament K tylko część szarego składnika, k<kmax
2. 2. Drukarki stosują własne procedury generowania czerni,
więc nie mamy kontroli nad tym procesem. Uzyskuje się ją
przy tworzeniu wyciągów barwnych dla druku w drukarni:
3. Czerń dodaje się tylko do ciemnych obszarów obrazu. 3.
4. Przy tworzeniu koloru neutralnego urządzenia drukujące 4.
posługują się krzywymi mieszania atramentów
uwzględniającymi ich zanieczyszczenie.
4. Model barw HSV
4. Model barw HSV Hue - Saturation - Value
Barwa HSV = (0, 0.3, 0.8)
s=0.3 v=0.8
V S
h=0=const.
Corel Draw
3D studio max
5. Model barw CIE 5. Model barw CIE
Dowolna barwa C jest
dodatnio ważoną sumą barw X, Y, Z.
X, Y, Z - standardowe barwy zdefiniowane w 1931r.
przez Międzynarodową Komisję Oświetleniową, Y - z założenia luminancja, która jest fizyczną
miarą jasności barwy.
x X
X Y Z y Y
X Y Z z Z
X Y Z
= + + =
+ + =
, , + + Niech
punkty (
x,y,z
) leżą na płaszczyźnie X + Y + Z = 1Trójkąt na płaszczyźnie X + Y + Z = 1, fragment przestrzeni CIE wyciętej przez trójkąt, widok trójkąta z frontu i po zrzutowaniu na płaszczyznę XY (wykres chromatyczności) [FOLE95].
Wykres chromatyczności Wykres chromatyczności
Wartości współrzędnych x, y barwy zależą tylko od odcienia barwy (H) i nasycenia (S).
Nasycenie barwy A A: S = AC / BC.
Barwę A A można otrzymać jako mieszaninę standardowego
światła białego (iluminant C - temperatura barwowa 6774K) i czystego spektralnego światła z punktu B B.
Dopełniające barwy D, D E mogą być zmieszane w celu E uzyskania C C.
F jest barwą niespektralną. F
Zastosowania wykresu chromatyczności
1. Definiowanie gamy barw 1.
urządzenia.
2. Porównywanie gamy barw 2.
różnych urządzeń w celu ograniczenia gamy barw urządzenia wejściowego do gamy barw urządzenia
wyjściowego (np. drukarki).
[FOLE95]
3. Rendering barw w celu przekształcenia wszystkich barw obrazu 3.
do gamy urządzenia wyjściowego.
a) b)
d) c)
a) nasyceniowa, b) percepcyjna, c) absolutna kalorymetrycznie, d) względna kalorymetrycznie [KAMI99].
6. Model barw
6. Model barw La*b La*b * *
Zawiera najszerszą
zdefiniowaną matematycznie przestrzeń barw, która
powstała w wyniku
transformacji matematycznej krzywoliniowego stożka CIE.
Najważniejszy model barw grafiki komputerowej,
wykorzystywany do obliczeń
na barwach przez systemy
zarządzania barwami CMS
(Color Management System).
CMS CMS - - system zarządzania barwami system zarządzania barwami ( ( Color Color Management Management System System ) )
Elementy CMS:
Elementy CMS:
• niezależna od urządzenia przestrzeń barw (CIE La*b*),
• profile barwowe urządzeń - zawierają informację
o modelu barw i gamie barw urządzenia oraz o odchyleniu barw od standardowego wzorca i sposobie ich korekcji do poprawnych wartości,
• dopasowanie barw (Color Matching Method) – mechanizm zarządzania zbiorem profili barwowych
urządzeń oraz dokonywanie konwersji z jednego modelu barw do drugiego,
• algorytmy renderowania barw - przekształcają barwy
obrazu do gamy barw urządzenia wyjściowego.
Przepływ danych Przepływ danych
Skaner
Monitor
Drukarka
Obraz RGB
Obraz CMYK Obraz
RGB
Profil skanera
Profil monitora
Profil drukarki
CMS
La*b*