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