background image

Grafika menedżerska

Grafika menedżerska

Grafika rastrowa, grafika 

wektorowa

Wykład 

background image

Dziedziny informatyki związane z informacją 
obrazową

Grafika komputerowa (ang. computer 
graphics
)

Przetwarzanie obrazu (ang. image 
processing
)

Rozpoznawanie obrazu (ang. pattern 
recognization)
 

background image

Grafika komputerowa

 

Tworzenie obrazu na podstawie 
informacji opisowej – synteza obrazu

szerokie zastosowania

różna złożoność programów i nakładów 
obliczeniowych koniecznych do 
utworzenia obrazu

wykresy funkcji 

kompozycje obrazów

obrazy generowane w czasie rzeczywistym

background image

Przetwarzanie obrazu

Dotyczy zagadnień, w których dane 
wejściowe i wyjściowe mają postać 
obrazów

usuwanie zakłóceń, poprawa jakości obrazu

filtrowanie obrazu

kompresja danych obrazowych

segmentacja obrazu

redukcja obrazu do konturów

redukcja obrazu konturowego do figur 
kreskowych

tworzenie przekrojów obrazu

background image

Rozpoznawanie obrazu

Tworzenie opisu obrazu, 
zakwalifikowanie obrazu do pewnej 
szczególnej klasy.

odwrotność grafiki komputerowej – 
analiza obrazu

w wyniku analizy obrazu powstaje opis 
matematyczny, ciąg symboli lub graf

dalsze przetwarzanie danych opisowych 
pozwala na wyciąganie wniosków 
analitycznych

background image

Rozpoznawanie wzorców

W rozpoznawaniu wzorców dąży się do klasyfikacji 

danych (wzorców) w oparciu o informacje uzyskane 

na drodze analizy informacji obrazowej. Klasyfikowane 

wzorce to zazwyczaj grupy wyników pomiaru lub 

obserwacji definiujące położenie odpowiadających im 

punktów w wielowymiarowej przestrzeni cech.
Kompletny system rozpoznawania wzorców składa się 

z:

sensora (czujnika), który dostarcza dane, które mają być 

klasyfikowane lub opisywane 

mechanizmu wydobywania (ekstrakcji) cech, które najlepiej 

charakteryzują i separują klasę do której dana należy

mechanizmu przekształcenia klasy w opis matematyczny 

(informacja opisowa) 

schematu decyzyjnego, który realizuje właściwą część 

procesu rozpoznawania  

background image

Przykłady 

OCR (

ang.

 Optical Character Recognization) - 

zestaw technik lub oprogramowanie służące 

do rozpoznawania znaków i całych tekstów z 

pliku graficznego 

o postaci rastrowej

OMR (

ang.

 Optical Mark Recognization) - 

rozpoznawanie w obrazie "znaczników" takich 

jak pola wyboru (ang. check box), kody 

kreskowe itp. Często stosowane w procesie 

analizy ankiet

widzenie maszynowe

background image

INFORMACJA

OPISOWA

INFORMACJA 

OBRAZOWA

GK

RO

PO

GK – grafika komputerowa  

PO – przetwarzanie obrazu  

  RO – rozpoznawanie obrazu  

background image

Formy danych obrazowych

4 klasy danych obrazowych

1 i 2 klasa – grafika rastrowa

3 i 4 klasa – grafika wektorowa

podział odnosi się do sposobu 
reprezentacji (opisu) nie do treści 
wizualnej

różne metody i algorytmy syntezy, 
analizy i przetwarzania danych dla 
każdej z klas

background image

KLASA 1

Obrazy realistyczne 
monochromatyczne i kolorowe

dokładnie odzwierciedlają rzeczywistość

reprezentowane jako macierze pamięci

elementy obrazu (piksele) są komórkami 
macierzy

różne struktury komórek macierzy np.

1 bajt na element obrazu 

1 bajt na każdy z 3 kolorów podstawowych 
R,G,B (True Color)

background image

Przykład:  Struktura piksela w systemie graficznym Reality 

Engine 2

             komputera ONYX firmy Silicon Graphics

kolor

48 bitów

RGBA 

składowa R

12 bitów

składowa G

12 bitów

składowa B

12 bitów

alfa blending (A)  12 bitów

bufor koloru

192 bity 

4xRGBA

(color planes)

bufor głębokości Z:

integer

32 bity

floating-point

24 bity

bufor sterujący

8 bitów

(overlay/underlay planes)

Razem: 

256 bitów na piksel

background image

KLASA 2

Obrazy binarne

obrazy monochromatyczne – czarno-
białe (tekst)

element obrazu opisywany przez 1 bit

reprezentowane jako macierze pamięci 
lub mapy bitowe

brak standardowego sposobu 
grupowania bitów w bajt w pamięci 
systemu graficznego

background image

KLASA 3

Linie proste i krzywe

Obrazy tworzone przez kolejne sąsiadujące ze 

sobą punkty  

Przykłady:

kontury obszarów

wykresy

krzywe nieregularne

Reprezentacja danych:

współrzędne X i Y kolejnych punktów

przyrosty X i Y

kod łańcuchowy

różnicowy kod łancuchowy

background image

Przyrosty X i Y

2

3

4

5

6

7

0

1

przyrosty: X 

{0,1,2,3,4}

 Y {0,6,7,1,2} 

 4 bity/punkt 

background image

Kod łańcuchowy

Kody łańcuchowe, w których wektor łączący dwa 
kolejne punkty jest określony jednym symbolem 
ze skończonego zbioru symboli

2

3

4

5

6

7

0

1

symbole:    {0,1,2,3,4,5,6,7}

  3 bity/punkt 

background image

Różnicowy kod łańcuchowy

Reprezentacją każdego punktu jest różnica (binarna) pomiędzy 
dwoma kolejnymi symbolami. Zbiór wartości różnic jest również 
8-elementowy {0, ±1, ±2, ±3, 4}. Lecz prawdopodobieństwo 
ich pojawienia się nie jest takie same. Można zatem użyć kodu o 
 zmiennej długości. 

SYMBO

L

0

+1

-1

+2

-2

+3

-3

2

3

4

5

6

7

0

1

KOD

0

01

011

0111

01111

011111

011111

1

011111

11

Taki sposób kodowania wymaga średnio nie więcej niż dwóch 
bitów na punkt. Przykładowo:

- znak alfanumeryczny: 1.8 – 1.9 bita/punkt
- okrąg o promieniu 1: 

2.3 bita/punkt

background image

KLASA 4

Punkty i funkcje 

klasa najczęściej wykorzystywana w 
grafice komputerowej

obraz reprezentowany jest przez 
współrzędne punktów i funkcje 

punkty charakterystyczne połączone 
są liniami prostymi lub krzywymi 
opisanymi przez funkcje

różnorodność funkcji i metod 
opisujących kształt generowanych 
obiektów

background image

Przekształcenia obrazów

Z klasy niższej do klasy wyższej

Klasa 1 w 2: 

segmentacja obrazu - identyfikacja obszarów gdzie 

barwa, nasycenie koloru lub jasność są jednolite

Klasa 2 w 3: 

znajdowanie konturów

szkieletowanie obrazu

w pierwszym przypadku obszar jest odwzorowany w 

krzywą zamkniętą a w drugim w obraz zwany szkieletem 

obszaru

Klasa 3 w 4: 

segmentacja krzywych - znajdowanie punktów 

charakterystycznych na krzywych lub szkielecie oraz  

funkcji opisujących przebieg linii pomiędzy tymi 

punktami

background image

Z klasy wyższej do klasy niższej

Klasa 4 w 3: 

modelowanie krzywych - metody 
interpolacyjne lub aproksymacyjne 

Klasa 3 w 2:

rasteryzacja

Klasa 2 w 1:

dodawanie kolorów (renderowanie)

wypełnianie – kolor obszaru jednolity

cieniowanie – obszar niejednolity, nasycenie, 
jasność i barwa zmieniają się zgodnie z przyjętą 
zasadą 

background image

  Przekształcenia z klasy niższej do wyższej:

rozpoznawanie obrazu

Przekształcenia z klasy wyższej do niższej:

grafika komputerowa

Przekształcenia obrazów 3D na 2D:

rzutowanie (rzut perspektywiczny, rzut równoległy)

Przekształcenia obrazów 2D na 3D:

reprojekcja lub rekonstrukcja

Przekształcenia w ramach klas: 

filtrowanie, translacja, skalowanie, obrót

background image

Segmentacja obrazu

  Identyfikowanie obszarów obrazu, których 

wygląd jest dla obserwatora jednolity  

identyfikowanie oznacza jednoznaczne 
ustalenie do jakiego obszaru (składowej 
pierwotnej) należy dany punkt obrazu;

obszary obrazu są to składowe pierwotne 
obrazu, mogą nimi być:  płaszczyzny o 
zdefiniowanych kształtach, krawędzie, kontury 
itp.; 

jednolitość może być definiowana na różne 
sposoby (poziom jasności, barwa, nasycenie 
koloru, tekstura itp.).

background image

Kryteria oceny algorytmów segmentacji

złożoność obliczeniowa;

zajętość pamięci;

dokładność znajdowania granic obszarów;

wierność względem obrazu oryginalnego.

Klasy algorytmów segmentacji (podział ze względu na 
metodę)

segmentacja przez progowanie

segmentacja przez wykrywanie krawędzi

segmentacja przez rozrost obszaru

 

Segmentacja jest jednym z najbardziej intensywnie 
rozwijanych zagadnień w procesie rozpoznawania obrazu 
i widzenia komputerowego.

background image

Segmentacja przez progowanie

Wartość jasności każdego elementu obrazu 
(piksela) jest porównywana z wartością progową

Element jest przydzielany do jednej z dwóch 
kategorii: o wartości progowej przekroczonej lub 
nieprzekroczonej (binaryzacja obrazu) 

Wyboru wartości progowej dokonuje się na 
podstawie histogramu. 

Problemy:

konieczność doboru wartości progowej;

brak przestrzennej relacji z sąsiedztwem;

mała przydatność w segmentacji obrazów kolorowych.

 

background image

Przykład:

Obraz oryginalny wraz z histogramem rozkładu poziomów 

jasności

Obraz po segmentacji. Wartość progowa T=100

background image

Segmentacja przez wykrywanie 
krawędzi

Krawędzie między obszarami wykrywane są poprzez 
filtrowanie obrazu z wykorzystaniem operatora detekcji 
krawędzi. Najczęściej stosowane operatory to:

filtr Sobela;

filtr Prewitta;

operator Laplace’a;

gradient w kierunku poziomym lub pionowym.

Elementy obrazu, których wartość po filtrowaniu przekroczy 
wartość progową kwalifikowane są jako punkty należące do 
krawędzi. 

Ostatnim etapem metody jest połączenie punktów 
zidentyfikowanych jako krawędź w celu uformowania krzywej 
zamkniętej otaczającej obszar. 

Problemy:

dobór operatora wykrywania krawędzi;

duża podatność na szumy;

słaba wykrywalność rozmytych granic pomiędzy obszarami.

background image

Przykład:

Wartość progowa T=64   

Wartość progowa T=100

Krawędzie wykryte w wyniku działania operatora 
detekcji krawędzi po progowaniu z różnymi 
wartościami progowymi

background image

Segmentacja przez rozrost 
obszaru

Metody segmentacji przez progowanie i wykrywanie krawędzi zajmują 
się różnicami między wartościami elementów obrazu. W metodzie 
segmentacji przez rozrost obszaru działa się w przestrzeni obrazu 
poszukując grup elementów o zbliżonej wartości. 

Najprostsza postać metody to rozpoczęcie algorytmu od jednego 
arbitralnie dobranego elementu obrazu (ziarna) i sprawdzanie czy 
piksele przylegające (sąsiadujące) mają podobną jasność – spełniają 
test jednolitości. Jeżeli tak, to są one grupowane w obszar.  Następnie 
sprawdzane są kolejne sąsiadujące piksele. W ten sposób powstają 
coraz większe, rozrastające się obszary.

W bardziej złożonym algorytmie działanie rozpoczyna się nie od 
pojedynczych pikseli ale od podziału całego obrazu na zbiór małych 
obszarów. Następnie dla każdego obszaru stosuje się test jednolitości. 
W razie negatywnego wyniku obszar jest dzielony na mniejsze 
podobszary. Proces ten jest powtarzany tak długo, aż wszystkie 
obszary będą jednolite.

 

background image

Kodowanie informacji obrazowej

Metody:

Kodowanie różnicowe DPCM (Differential Pulse Code Modulation)

Kodowanie transformacyjne

Karhuena-Loeve’go

Hadamarda

DCT

Interpolacja i ekstrapolacja

próbkowanie podnyquistowskie

próbkowanie przestrzenne

próbkowanie czasowe

Kodowanie statystyczne

Huffmana

Shannona-Fano

Inne metody

kodowanie krawędzi

kodowanie o zmiennej długości słów

kodowanie płaszczyzn

Metody hybrydowe

background image

Metody kodowania można podzielić na:

stałe i przystosowujące się (parametry 
kodowania stałe lub nie)

stratne i bezstratne

realizowane w czasie rzeczywistym lub 
nie

background image

Parametry kompresji

1. Stopień kompresji

gdzie: 

N – zajętość pamięci obrazu oryginalnego

M – zajętość pamięci obrazu po kompresji

 

2. Czas kompresji i dekompresji

M

N

background image

Parametry kompresji

3. Jakość kompresji 

gdzie: 

X

ij  

– wartość i-tego piksela na j-tej linii obrazu oryginalnego

X’

ij  

– wartość i-tego piksela na j-tej linii obrazu odtworzonego

N

– liczba linii w obrazie

N

– liczba pikseli na linii

B – maksymalna wartość piksela (np. przy 8 bit/pixel – B=255)

PSNR [dB] -  stosunek sygnału użytkowego do szumu 
(ang. Peak Signal to Noice Ratio)

2

1

2

2

1

1

10

)

'

(

log

10

2

N

N

B

X

X

PSNR

ij

N

i

N

j

ij

i



background image

Kodowanie różnicowe

a) rozkład gęstości prawdopodobieństwa    

 b) rozkład gęstości 

prawdopodobieństwa
     wartości pikseli

     różnic między kolejnymi 

pikselami

x

x

ma

x

x

min

p(
x)

p(
x)

x

x

ma

x

x

min

background image

Kodowanie różnicowe

Kolejne kroki:
1. Kwantyzacja - określenie nowych przedziałów kodowania 

a)  wyznaczenie liczby nowych przedziałów (stopień kompresji)

b) wyznaczenie granic przedziałów – granice wyznaczane są  na podstawie rozkładu 
gęstości p-stwa różnic między 

kolejnymi pikselami (zmienne długości przedziałów)

gdzie: 

p(x) – funkcja gęstości prawdopodobieństwa

[x

i

 – x

i+1

] – przedział kodowania

Liczba bitów/piksel

8 b/piksel 

Liczba nowych 
przedziałów 

128

64

32

16

Stopień kompresji

1:2

1:4

1:8 1:16

1

)

(

i

i

x

x

const

dx

x

p

background image

Kodowanie różnicowe

2. Przydział wartości wyjściowych dla przedziałów 

kodowania 
a) minimalizacja wariancji między obrazem 
oryginalnym 

a odtworzonym (metody przystosowujące się)

b) wartości stałe uśrednione

3. Kodowanie wartości wyjściowych

a) kody o stałej długości
b) kody o zmiennej długości

background image

Kodowanie transformacyjne

Kolejne kroki:
1. Określenie rodzaju transformacji
2. Określenie szerokości transformacji 

(np.16   pikseli)

3. Określenie przestrzeni transformacji:

liniowa (wzdłuż wiersza lub kolumny obrazu)

prostokątna (pole obrazu o wymiarach KxL)

4. Transformacja obrazu zgodnie z 

przyjętymi parametrami

background image

Przykład – transformacja DCT

background image

5. Skalowanie produktów transformacji
6. Wybór transformant do kodowania

 
7. Kodowanie produktów transformacji

a) kodowanie proste
b) kodowanie różnicowe

kody o stałej długości

kody o zmiennej długości

Szerokość 

transformacji

16

64

Liczba transformant

16

64

Liczba transformant 

do zakodowania

8

4

2

8

4

2

Stopień kompresji

1:2 1:4 1:8 1:8 1:1

6

1:3

2

background image

Wartości współczynników transformacji 
DCT

background image
background image
background image
background image

Grafika wektorowa

Grafika wektorowa: sposób opisu obrazu oparty 
na formułach matematycznych. Zachowuje 
informacje o tworzących kształty obiektów liniach 
i krzywych

stała jakość obrazu niezależnie od tego, w jakiej skali 
zostanie on wyświetlony;

mniejsza w porównaniu z formatami zapisu rastrowego 
(JPG, BMP, GIF) wielkość plików zarówno w przypadku 
statycznych obrazów jak i animowanych;

większa kontrola nad kształtem i położeniem 
modelowanych obiektów;

możliwość modyfikacji poszczególnych obiektów obrazu 
niezależnie od pozostałych.

 

background image

Programy do tworzenia grafiki 
wektorowej:

Adobe Ilustrator

Corel Draw

Deneba Canvas

Creature House Expresion

Macromedia Freehand

Xara

Micrograf Designer

background image

Formaty zapisu grafiki wektorowej:

EPS (Encapsulated Postscript)

WFM (Windows Metafile)

CDR (Corel Draw)

DRW (Micrograf Designer)

VPF (Vector Product File)

DXF (programy CAD)

HPGL (plotery)

background image

Urządzenia grafiki wektorowej: (plotery, 
grafoskopy, monitory wektorowe)

urządzenia realizujące grafikę wektorową 
wykorzystują 3 i 4 klasę danych obrazowych;

rozkazy elementarne:

p(x,y) - ustaw plamkę świetlną (rysującą) w 
punkcie (x,y)

s(z) – ustaw jasność (kolor) zgodnie z wartością z

sekwencja rozkazów (S) odpowiada za wyświetlenie 
(narysowanie) pojedynczego obiektu;

background image

Program sterujący wyświetlaniem obrazu na 
lampie CRT:

  start: S1, S2, . . . , Sn - sekwencje rozkazów

S1;
S2;
. . . . ;
Sn;
if brak przerwania then go to start
else
 zmień sekwencję  go to start;

end.

background image

W celu modyfikacji obrazu należy zmienić odpowiednią 
sekwencję rozkazów. Zmiana obrazu sygnalizowana jest 
poprzez przerwanie. Wykonanie pojedynczej pętli odpowiada 
za odnowienie (odświeżenie) zawartości ekranu. Częstotliwość 
odświeżania jest odwrotnie proporcjonalna do długości pętli. 
Jeżeli czas wykonania pętli jest dłuższy od czasu fluorescencji 
(poświaty) ekranu to występuje zjawisko migotania i rozmycia 
ekranu. Stąd istnieje górna granica długości pętli a tym 
samym złożoności wyświetlanego obrazu.

czas fluorescencji: 0.02 - 0.05 sek

częstotliwość odświeżania: 20 – 50 razy/sek.

rozdzielczość 4096x4096

zobrazowanie monochromatyczne o poświacie białej, zielonej lub 
czerwonej;

lampy pamięciowe: brak ograniczeń na złożoność wyświetlanego 
obrazu.

background image

Grafika rastrowa (bitmapowa)

Obrazy tworzone są z położonych regularnie obok siebie pikseli. W 
pikselach zawarta jest informacja o kolorze lub o jasności (obrazy 
monochromatyczne) danego punktu obrazu. 
Mapa bitowa (ang. bit map):  sposób zapamiętania obrazu przy 
wykorzystaniu pikseli ułożonych w rzędy i kolumny. Każdy piksel 
jest opisany za pomocą określonej liczby bitów. Najczęściej 
wykorzystywane są mapy:

1-bitowe: obrazy biało-czarne (binarne);

8-bitowe: możliwość uzyskania 256 kolorów lub odcieni szarości;

16-bitowe: 65 536 kolorów

24-bitowe:  True Color (16 777 216 kolorów)

background image

Rozdzielczość obrazu rastrowego

rozdzielczość liniowa: liczba pikseli przypadająca na 
jednostkę powierzchni;

rozdzielczość w przestrzeni kolorów: liczba bitów 
opisująca pojedynczy piksel;

Im wyższa jest rozdzielczość obrazu, tym większy jest jego 
plik. Wielkość pliku opisującego obraz można wyznaczyć z 
zależności:

W = K * L * P

  gdzie: 

W – wielkość pliku wyrażona w bajtach

K - liczba pikseli w pionie;

L -  liczba pikseli w poziomie;

P -  liczba bajtów opisująca piksel

background image

Programy do edycji i przetwarzania map bitowych 
(do retuszu i obróbki zdjęć): 
umożliwiają tworzenie 
rysunków od podstaw lub modyfikację już istniejących, 
powstałych w wyniku skanowania gotowych rysunków 
lub zdjęć bądź też wprowadzanych z urządzeń cyfrowych 
(aparaty cyfrowe, urządzenia do akwizycji obrazu).

Photoshop

Corel PhotoPaint

Picture Publisher

Formaty zapisu grafiki rastrowej:

BMP 

JPEG

GIF

TIFF

background image

Urządzenia grafiki rastrowej: (drukarki, skanery, 
monitory rastrowe)

urządzenia realizujące grafikę rastrową wykorzystują 1 i 2 
klasę danych obrazowych;

urządzenia posiadają integralną pamięć (pamięć graficzna, 
pamięć ekranu);

pojedyncza komórka pamięci przechowuje atrybuty 
pojedynczego adresowalnego punktu obrazu;

rozkazy elementarne:
  read(I,x,y,z) – czytaj komórkę pamięci I o adresie (x,y) 
oraz 

określ z  na podstawie 

zawartości I;
  write(x,y,z) – 

pisz w punkcie o współrzędnych (x,y) 

wartość 

jasności  (koloru) określoną 

przez z.

background image

Program sterujący wyświetlaniem (drukowaniem) 
obrazu:
start:

 

for I:=1 to ilość pikseli do
begin

read(I,x,y,z);
write(x,y,z);

end;
go to start;

end.

background image

Pojęcia związane z urządzeniami grafiki 
rastrowej:

częstotliwość odświeżania (odczytu pamięci 
ekranu): 50-100 Hz;

pasmo przenoszenia sygnału wizji VBW (ang. 
Video Band Width);

synchronizacja pionowa i pozioma VSYNC, 
HSYNC;

pamięć graficzna, pamięć ekranu (obrazu);

stronicowanie pamięci graficznej;

system okien, atrybuty okna.

background image

Porównanie grafiki rastrowej i 
wektorowej

Różnice  między  grafiką  wektorową  a  grafiką  rastrową 
są  szczególnie  widoczne  podczas  skalowania  (zmiany 
rozmiaru) rysunku lub obiektu. 
Przykład: powiększenie rysunku – powiększenie  700%

 grafika 

rastrowa

  grafika 

wektorowa

Wektorowa literka "a" nie straciła nic ze swojej 
jakości.

background image

Utrata jakości w rysunku rastrowym. Rzucające się w oczy duże 
punkty oraz postrzępiona linia. W rysunku rastrowym odcinek jest 
zapamiętany z określonej liczby punktów, po powiększeniu punkty 
stają się duże, a jest ich tyle samo. W rysunku wektorowym 
odcinek jest zapamiętywany jako zbiór dwóch punktów 
(początkowy i końcowy) o określonych współrzędnych.

 grafika rastrowa

  grafika wektorowa

Przykład: powiększenie rysunku 

background image

Przykład:  pomniejszenie  rysunku  do  1/3 
rozmiaru  
 

Rysunek wektorowy nie uległ pogorszeniu. W przypadku rysunku 
rastrowego literka "a" wygląda dobrze dlatego, że oryginalna 
literka jest „gruba”. Znacznie gorzej wygląda elipsa i odcinek, 
które były „cienkie”. Przy pomniejszaniu zostało "zgubionych" 
wiele punktów. 

 grafika rastrowa

  grafika wektorowa

background image

Przykład: zdjęcia  

Jakość zdjęć rastrowych jest najlepsza gdy są w oryginalnych 
rozmiarach. Po skalowaniu tracą na jakości, nie można rozróżnić 
szczegółów.
W grafice wektorowej nie można przedstawić zdjęcia, gdyż takich 
nie można zrobić. W technice wektorowej wszystko musi być 
narysowane przy użyciu takich obiektów jak okrąg, odcinek, 
punkt, wielokąt.

 grafika rastrowa  

  grafika wektorowa

Rysunek został 
utworzony 
z 6254 obiektów


Document Outline