2.3. Model rastrowy Rastrowy model danych wykorzystywany jest

Transkrypt

2.3. Model rastrowy Rastrowy model danych wykorzystywany jest
Waldemar Izdebski - Wykłady z przedmiotu SIT
2.3.
31
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
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.
Waldemar Izdebski - Wykłady z przedmiotu SIT
32
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:
(2.7)
B
N = H *W *
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.
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.
Waldemar Izdebski - Wykłady z przedmiotu SIT
33
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 .
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.
Waldemar Izdebski - Wykłady z przedmiotu SIT
Oryginał
34
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
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
H=
* DPI
25,4
(2.8)
w
W=
* DPI
25,4
gdzie
W
H
DPI
h
w
-
szerokość rastra w pikselach,
wysokość rastra w pikselach,
rozdzielczość
wysokość obrazu w [mm]
szerokość obrazu w [mm]
Waldemar Izdebski - Wykłady z przedmiotu SIT
35
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.
H
8000
8000
8000
8000
8000
W
5000
5000
5000
5000
5000
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
Waldemar Izdebski - Wykłady z przedmiotu SIT
36
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
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
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.
2.3.2. Kalibracja rastrów
Wykorzystanie rastrów w systemach informacji przestrzennej musi być poprzedzone ich
odpowiednim przygotowaniem, polegającym na określeniu związku między układem rastra
(zapisanym w tablicy pikseli) a układem terenowym. Jeżeli określony związek będzie
wymagał innych przekształceń niż przesunięcie i zmiana skali, trudno wyobrazić sobie pracę
na rastrach, złożonych z wielu milionów pikseli, które co chwila trzeba będzie poddawać
skomplikowanym przekształceniom. Konieczność takich przekształceń może wynikać ze
skręcenia oryginału podczas skanowania, błędów powstałych w trakcie skanowania czy też
błędów oryginału, wynikających z właściwości materiału na jakim został wykonany.
Kalibracja jest procesem, który eliminuje opisane zniekształcenia przez utworzenie nowego
rastra, odpowiednio zlokalizowanego w układzie współrzędnych, powstałego w wyniku
przetransformowania pikseli rastra oryginalnego na piksele rastra nowego wolnego od
zniekształceń. Schematycznie proces ten przedstawiono na rysunku 2.29.
Rys. 2.29. Ilustracja procesu kalibracji
Waldemar Izdebski - Wykłady z przedmiotu SIT
38
Skuteczność eliminacji błędów zależy w znacznej mierze od zastosowanego modelu
transformacji oraz od tego czy model zastosujemy bezpośrednio dla całego rastra czy
będziemy go stosowali do fragmentów rastra, które po transformacji zostaną ze sobą
połączone. Do wyznaczenia parametrów transformacji wykorzystujemy punkty łączne czyli
takie, które posiadające określone współrzędne terenowe oraz są identyfikowalne na rastrze.
Rys. 2.30. Ilustracja procesu kalibracji
W przypadku map jest to głównie siatka kwadratów ale mogą być wykorzystywane
również inne punkty (np. punkty osnowy, graniczniki). Minimalna liczba punktów łącznych
zależy od przyjętego modelu transformacji. Zazwyczaj parametry transformacji wyznacza się
metodą najmniejszych kwadratów na podstawie większej liczby punktów niż minimalna
wynikająca z modelu, co pozwala na oszacowanie dokładność uzyskanej transformacji.
Poniżej przedstawiono kilka najczęściej stosowanych do kalibracji rastrów modeli
transformacji.
Transformacja Helmerta
Najprostszy model transformacji wymagający do jednoznacznego wyznaczenia
parametrów jedynie dwóch punktów. Model pozwala na obrót, przesunięcie i zmianę skali.
X 
 cos ϕ sin ϕ   x   Xo
 Y  = k * − sin ϕ cos ϕ  *  y  +  Yo 
 

    
Transformacja afiniczna
Model w którym współrzędna w nowym układzie wynika z zależności przedstawionej
poniżej. Minimalna liczba potrzebnych punktów wynosi 3. Transformacja zachowuje
równoległość linii i środki odcinków zmienia natomiast długości odcinków i wartości kątów.
Waldemar Izdebski - Wykłady z przedmiotu SIT
 X  a 2
 Y  = b
   2
a1
b1
39
 x
a0   
* y
b0   
 1 
Transformacja biliniowa
Model w którym współrzędna w nowym układzie wynika z zależności przedstawionej
poniżej. Minimalna liczba potrzebnych punktów wynosi 4. Transformacja ma szczególne
znaczenie ze względu na przekształcanie czworokąta w czworokąt co znakomicie nadaje się
do transformacji fragmentami.
 xy 
 
 X  a3 a2 a1 a0   x 
 Y  = b b b b  *  y 
   3
2
1
0
 
1
Transformacja rzutowa
Transformacja określająca zależność rzutową pomiędzy punktami układu pierwotnego
i wtórnego. Do określenia wartości współczynników transformacji potrzebne są cztery punkty
rozmieszczone tak aby żadne 3 nie leżały na jednej prostej.
a x + a 2 y + a3
X= 1
a7 x + a8 y + 1
Y=
a 4 x + a5 y + a 6
a7 x + a8 y + 1
Transformacje wielomianowe
W transformacji afinicznej do określenia zależności między układami zastosowany jest
wielomian dwóch zmiennych P(x,y) stopnia pierwszego. Zwiększając stopień wielomianu
będziemy potrzebowali więcej punktów do wyznaczenia parametrów wielomianu ale
jednocześnie transformacja może wyeliminować znaczne większe zniekształcenia.
Najczęściej wykorzystywane są transformacje do 3-go stopnia wielomianu nazywane
odpowiednio transformacją:
¾ bikwadratową,
 X   a5
 Y  = b
   5
¾ bikubiczną.
a4
a3
a2
a1
b4
b3
b2
b1
x2 
 
 xy 
a0   y 2 
* 
b0   x 
y
 
 1 
Waldemar Izdebski - Wykłady z przedmiotu SIT
 X   a9
 Y  = b
   9
a8
a7
a6
a5
a4
a3
a2
a1
b8
b7
b6
b5
b4
b3
b2
b1
40
 x3 
 2 
x y
 xy 2 
 3
y 
a0   x 2 

*
b0   y 2 
 xy 


 x 


 y 
 1 
Należy zwrócić uwagę na fakt, że każde przekształcenie rastra powoduje jego stopniową
degradację. Możemy to sprawdzić doświadczalnie wykonując kilka obrotów rastra o małe
kąty i powrót do pozycji wyjściowej. Poniżej przedstawiono raster z rysunku 2.30 po trzech
obrotach o wartość 3 stopni i powrót do pozycji wyjściowej.
Rys. 2.31. Raster po kilku przekształceniach

Podobne dokumenty