2.3. Model rastrowy Rastrowy model danych

Transkrypt

2.3. Model rastrowy Rastrowy model danych
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
2.3.
30
Model rastrowy
Rastrowy model danych wykorzystywany jest dla gromadzenia i przetwarzania
danych pochodzących ze skanowania istniejących materiałów mapowych, zdjęć lotniczych i
satelitarnych oraz obrazów teledetekcyjnych.
W modelu rastrowym dane o obiektach świata rzeczywistego przechowywane są w
postaci regularnych elementów powierzchniowych zwanych pikselami (ang. pixel od picture
element). Piksele przeważnie mają kształt kwadratu chociaż można się spotkać również z
pikselami w kształcie prostokąta. Obraz tworzony przez piksele nazywany jest rastrem.
Z natury rzeczy raster jest prostokątem, którego wymiary określone są w pikselach. Inaczej
rzecz ujmując można powiedzieć, że piksel jest najmniejszą rozróżnialną powierzchnią rastra.
Rysynek 2.19 przedstawia ilustrację rastra o wymiarach H x W (wysokość x szerokość)
i wyodrębnionego w nim piksela.
Rys. 2.19. Ilustracja rastra i jego najmniejszego elementu - piksela
Raster w sposób naturalny może być reprezentowany przez tablicę dwuwymiarową, w
której poszczególne elementy przechowują informacje o odpowiednich pikselach. Położenie
każdego piksela w rastrze jest identyfikowane przez podanie wiersza i kolumny w tablicy
przyporządkowanej rastrowi.
Rys. 2.20. Ilustracja zapisu rastra w tablicy
Wartości zapisywane w tablicy są nazywane atrybutami elementu rastra. Korzystając z
tablicy dwuwymiarowej dla każdego piksela możemy zapisać jeden atrybut. W przypadku
przypisywania do piksela większej liczby atrybutów należy zamiast pojedynczego pola
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
31
stosować wektor atrybutów, co prowadzi do tablicy trójwymiarowej. Trzeci wymiar tablicy
będzie określał płaszczyzny odpowiednich atrybutów, mogących tworzyć warstwy
tematyczne np. poziomy informacyjne w zobrazowaniach teledetekcyjnych.
Rys. 2.21. Ilustracja wielu atrybutów przypisywanych do elementu rastra
W zależności od dopuszczalnych wartości atrybutu piksela należy zastosować
odpowiedni typ zmiennej do jego przechowywania a tym samym odpowiedni zasób pamięci
do zapisu całej tablicy rastra. Najczęściej wartość atrybutu przekłada się na kolor jakim dany
piksel będzie rysowany podczas prezentacji graficznej. Przyjmując, że do zapisu atrybutu
piksela wykorzystamy jeden bit, możemy wyróżnić dwa jego stany wartości tzn. zero lub
jeden, mówimy wtedy o rastrze monochromatycznym zwanym popularnie czarno-białym.
W rastrze monochromatycznym w jednym bajcie pamięci zapisujemy więc kolory ośmiu
kolejnych pikseli. Przy rastrach w których wyróżnia się więcej kolorów trzeba przeznaczyć
odpowiednio więcej pamięci dla przechowania wartości atrybutu piksela. Wielkość pamięci
potrzebnej do zapisu rastra możemy określić na podstawie następującego wzoru:
N = H *W *
B
8
gdzie
N
H
W
B
-
wielkość rastra wyrażona w bajtach,
wysokość rastra w pikselach,
szerokość rastra w pikselach,
liczba bitów do zapisu jednego piksela.
(2.7)
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
32
Obraz rastrowy powstaje jako bezpośrednie zobrazowanie rzeczywistości np. w
wyniku wykonania zdjęć lotniczych lub satelitarnych gdzie każdemu pikselowi obrazu
przyporządkowywany jest odpowiedni fragment terenu.
Rys. 2.22. Ilustracja tworzenia rastra
Cechą charakterystyczną takich zobrazowań jest wymiar terenu zobrazowany jednym
pikselem rastra. Im piksel mniejszy tym wierniejsze zobrazowanie terenu. Dla przykładu
satelita LANDSAT TM oferuje obrazy z pikselem odpowiadającym obszarowi 30m x 30m
dając obrazy odpowiadające obszarom 185km x 185 km. Satelita SPOT natomiast oferuje
piksel 20m x 20m i obrazy obejmujące obszary 60km x 60km. Najdokładniejszymi obecnie
zobrazowaniem satelitarnym są zdjęcia z satelity IKONOS o rozdzielczości 0,82m i
QuickBird 0,61m.
Rys. 2.23. Zdjęcie z satelity IKONOS www.spaceimaging.com .
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
33
Innym sposobem tworzenia rastrów odnoszących się do rzeczywistości jest
skanowanie istniejących map na urządzeniach zwanych skanerami. Proces skanowania polega
na podziale oryginału na małe elementy i pomierzeniu ich jasność. W tym celu skaner
wyposażony jest w odpowiednią liczbę światłoczułych receptorów, z których każdy mierzy
jasność małego wycinka oryginału.
W przypadku skanowania kolorowego również mierzona jest jasności lecz z
zastosowaniem odpowiednich filtrów dla głównych kolorów RGB co oznacza indywidualny
pomiar jasności dla poszczególnych składowych. Poniżej przedstawiono ilustrację procesu
skanowania.
Oryginał
Matryca skanera
Rys. 2.24. Ilustracja procesu skanowania
W wyniku nałożenia matrycy skanera na oryginał dokonujemy jego podziału na
piksele dla których w procesie skanowania rejestrowany jest ich kolor.
Do określenia precyzji skanowania używa się charakterystyki określanej jako
rozdzielczość. Rozdzielczość określana jest w pikselach na cal i oznaczana skrótem DPI (ang.
dot per inch). Na podstawie rozdzielczości określamy wymiary fragmentu oryginału
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
34
odwzorowany w jednym pikselu. Przy rozdzielczości 254 dpi jest to 0.1mm. Rozdzielczość
jest więc jednostką charakteryzującą precyzję skanowania. Im wartość jest większa tym
mniejszy jest piksel a tym samym wierniejsze odwzorowanie oryginału. Jednocześnie wzrost
rozdzielczość powoduje przyrost wielkości rastra i to w zależności kwadratowej. Oznacza to,
że dwukrotne podniesienie rozdzielczości powoduje czterokrotny wzrost wielkości rastra.
Zależności między wymiarem obrazu i rozdzielczością a wymiarem rastra są następujące:
h
* DPI
25,4
w
W=
* DPI
25,4
H=
(2.8)
gdzie
W
H
DPI
h
w
-
szerokość rastra w pikselach,
wysokość rastra w pikselach,
rozdzielczość
wysokość obrazu w [mm]
szerokość obrazu w [mm]
W charakterystykach skanerów można się spotkać z dwoma rodzajami rozdzielczości
optyczną i interpolowaną. Rozdzielczość optyczna (zwana również fizyczną) oznacza
rzeczywistą liczbę elementów światłoczułych na jednostkę długości. Rozdzielczość
interpolowana (obliczeniowa) polega na programowym wstawianiu między piksele
rzeczywiste dodatkowych pikseli i przypisywania im wartości uśrednionych wynikających z
sąsiedztwa pikseli rzeczywistych. Należy jednak pamiętać, że interpolacja nie powoduje
wprowadzenia nowych danych do obrazu, a jest tylko jego przetworzeniem. Oznacza to, że
rozdzielczość optyczna np. 600 lub 1200 dpi, daje znacznie lepsze wyniki niż taka sama
rozdzielczość interpolowana.
2.3.1. Kompresja danych rastrowych
Zbiory rastrowe zapisywane w postaci bezpośredniej są zbiorami o znacznych
rozmiarach. Są one tym większe im wyższa jest rozdzielczość przechowywanego w nich
obrazu i im więcej bitów przeznaczonych jest na zapis pojedynczego piksela. Poniższa tabela
zawiera przykładowe zestawienie wielkości rastrów dla oryginału o wymiarach 500x800mm
zeskanowanego w rozdzielczości 254 dpi z wykorzystaniem odpowiednio 1, 4, 8, 16 i 24
bitów do zapisu pojedynczego piksela.
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
H
8000
8000
8000
8000
8000
W
5000
5000
5000
5000
5000
35
Liczba kolorów Wielkość pliku w MB
B
1
4
8
16
24
2
16
256
65536
16777216
5
19
38
76
114
Aby uniknąć operowania na bardzo dużych plikach, rozwinęły się formaty
wykorzystujące kompresję danych. Różnią się one szybkością działania, współczynnikiem
kompresji oraz uniwersalnością zastosowań do różnych typów obrazów. Odczytanie
skompresowanego pliku możliwe jest po przeprowadzeniu procesu odwrotnego czyli
dekompresji. Generalnie kompresje dzielą się na kompresje bezstratne i stratne. W pierwszym
wypadku przy zapisie nie następują, żadne straty w stosunku do oryginału, w drugim
natomiast w celu zmniejszenia wielkości zbiorów, stosuje się eliminację pewnych mniej
ważnych dla ludzkiego elementów. Klasycznym przykładem takiej kompresji jest kompresja
JPEG.
Standardowo raster zapisywany jest wiersz po wierszu jak przedstawiono to na
poniższym rysunku.
0
1
2
3
4
5
6
7
8
9
10
11
13
14
15
12
Rys. 2.25. Ilustracja zapisu rastra wiersz po wierszu
Najczęściej stosowane algorytmy kompresji eliminują powtarzające się w rastrze ciągi
bitów zapisując je w krótszej postaci. Klasycznym przykładem takiej kompresji jest
kompresja RLE (ang. Run-Length Encoding) polegająca na zamianie ciągów złożonych z
tych samych wartości w pary P(liczba wystąpień, wartość).
(7,0);
(3,0),(1,1),(3,0);
(2,0),(2,1),(1,0),(1,1),(1,0);
(3,0),(4,1)
Rys. 2.26. Ilustracja kompresji RLE
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
36
Krzywa przedstawiona na rysunku (2.25) powstała w sposób naturalny z połączenia
środków poszczególnych pikseli w kolejności ich zapisu i obrazuje transformację przestrzeni
dwuwymiarowej rastra w jednowymiarową przestrzeń pamięci. Krzywa taką bywa często
nazywana - krzywą organizującą przestrzeń. Cechą charakterystyczną przedstawionej krzywej
jest to, że przechodzi przez wszystkie piksele rastra. Jeśli za istotę organizacji przyjmiemy
wymaganie, że dwa piksele znajdujące się blisko siebie w przestrzeni dwuwymiarowej mają z
dużym prawdopodobieństwem być blisko siebie w utworzonym porządku jednowymiarowym,
to przedstawiona na rysunku 2.25 krzywa nie daje najlepszych efektów.
Aby uzyskać lepsze efekty należy wykorzystać krzywą Peano, której ilustrację z
zastosowaniem porządku opracowanego przez Mortona przedstawiono na rysunku poniżej.
00
0
01
1
10
4
11
5
000 001 010 011 100 101 110 111
002 003 012 013 102 103 112 113
1
02
20
2
0
3
22
2
8
10
03
21
23
3
9
11
12
30
6
12
13
1
31
14
32
33
7
020 021 030 031 120 121 130 131
022 023 032 033 122 123 132 133
13
200 201 210 211 300 301 310 311
202 203 212 213 302 303 312 313
15
212 221 230 231 320 321 330 331
222 223 232 233 322 323 332 333
0
1
4
5
2
3
6
7
8
9
12
13
10
11
14
15
Rys. 2.27. Ilustracja krzywej Peano
Innym
podejściem
do
kompresji
rastrów
jest
operowanie
elementami
powierzchniowymi o różnej wielkości zapisywanej w strukturze drzewa czwórkowego, co
zilustrowano na poniższym rysunku.
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
37
Rys. 2.28. Zapis rastra w strukturze drzewa czwórkowego
W prezentowanej strukturze z każdego węzła wychodzą cztery rozgałęzienia,
odpowiadające podziałowi danego elementu powierzchniowego na cztery części. Podział
rozpoczyna się od obszaru całego rastra i jest kontynuowany przez kolejne coraz mniejsze
elementy. Jak widać dla pewnych (jednolitych) obszarów rastra podział może być
zakończony już na pierwszym podziale płaszczyzny bez utraty jakiejkolwiek informacji. Nie
występuje więc potrzeba wyodrębniania dla tego obszaru kolejnych mniejszych elementów.