TECHNOLOGIE ELASTICKÉ KONFORMNÍ TRANSFORMACE RASTROVÝCH OBRAZŮ
ÚVOD
Technologie elastické konformní transformace rastrových obrazů je realizována v rámci webové aplikace NKT. Tato webová aplikace provádí nelineární konformní transformaci rastrových obrazů metodou kolokace. Poskytuje alternativu k obvykle používaným konformním transformacím jako např. Helmertova transformace. Výhodou transformace metodou kolokace oproti jiným metodám je možnost určit přesnost transformace pro jakýkoliv transformovaný bod, ne jen pro tzv. kontrolní body. 1. UŽIVATELSKÉ ROZHRANÍ
Aplikace se snaží stylem ovládáním přiblížit desktopovým aplikacím. Prostor zobrazovací části okna prohlížeče je rozdělen na aplikační menu, zobrazovací pole vstupních obrazů (zobrazují zdrojovou souřadnicovou soustavu) a zobrazovací pole výsledků transformace (zobrazuje cílovou souřadnicovou soustavu) a postranní panel se seznamem identických bodů, parametrů transformace a seznamem výsledků transformace (transformovaných rastrů). Většina funkcí se spouští pomocí aplikačního menu, které obsahuje položky známé z většiny tradičních aplikací (jako Soubor, Zobrazení atd.). Následující odstavce popisují stručně jednotlivé prvky uživatelského rozhraní aplikace. Podrobnější nápovědu k ovládání aplikace lze získat přímo v aplikaci pomocí položky Nápověda -> Nápověda pro transformaci. 1.1 Aplikační menu Aplikační menu se nachází v horní části zobrazovacího okna prohlížeče. Má stejnou úlohu jako u klasických desktopových aplikací – poskytuje přístup k funkcím, popř. nastavení aplikace. 1.2 Zobrazovací pole Zobrazovací pole zobrazují obrazová data. Aplikace obsahuje dvě hlavní zobrazovací pole. První z nich, umístěné v levé častí aplikace, zobrazuje vstupní rastry. Každý vstupní obraz je zobrazen samostatně, mezi obrazy lze přepínat pomocí "karet" (podobně v internetových prohlížečích mezi otevřenými stránkami). Druhé zobrazovací pole (v pravé častí aplikace) zobrazuje transformované rastry. Všechny transformované rastry se zobrazují v jednom zobrazovacím poli a tudíž i ve stejném souřadnicovém systému, což umožňuje provádět např. mozaikování. Výsledné rastry lze vypínat za zapínat a lze jim nastavovat průhlednost pomocí ovládacích prvků v postranním panelu.
1. Postranní panel Postranní panel ukazuje seznam identických bodů i s jejich souřadnicemi a přesností. Jak souřadnice, tak přesnost lze měnit buď přímo vstupem z klávesnice (přepsáním staré hodnoty novou) nebo graficky (myší označit novou polohu bodu). Postranní panel dále zobrazuje parametry transformace (pro každý rastr) a seznam výsledků transformace. 2. ZDROJE DAT
Jako zdroj dat lze použít obrazové soubory ve formátu .jpg nebo .png. Identické body lze zadat buď manuálně, nebo načíst ze souboru (viz příloha 1). Kromě obrazů k transformaci lze nahrát tzv. referenční obraz. Ten se zobrazuje v zobrazovacím poli výsledků a lze ho použít k transformaci rastru na rastr. 3. TRANSFORMACE
Vlastní transformace se spustí jednoduše výběrem příslušné funkce v aplikačním menu. Zobrazí se dialog výběru rastrů k transformaci (lze tedy transformovat pouze některé z nahraných rastrů) a po potvrzení výběru se provede transformace a výsledky se zobrazí v zobrazovacím poli výsledků. V postranním panelu lze nastavit parametry transformace - elasticitu a rozměr zájmového území. Parametry není třeba nastavovat - pokud nejsou zadány, transformační program sám odhadne jejich hodnotu. Pokud ale uživatel parametry zadá, jsou brány jako pevné a transformační program jejich hodnoty nemění. 4. POUŽITÉ TECHNOLOGIE
Klientská část aplikace je postavena na standardních webových technologiích dneška – html, JavaScript a SVG (Scalable Vector Graphics). To umožňuje aplikaci využít prakticky na jakémkoliv počítači vybaveném moderním webovým prohlížečem a připojením k Internetu. Aplikaci bohužel nelze použít v prohlížeči Internet Explorer Explorer verze nižší než 9, protože ten nepodporuje SVG. V klientské části aplikace probíhají veškeré uživatelské operace – vytváření tříd, definice trénovacích množin, měření délek, ploch atd. Pro usnadnění práce s DOM stránky je použita knihovna JQuery (http://jquery.com). Pro implementaci uživatelského rozhraní byla vyvinuta v jazyce JavaScript vlastní knihovna poskytující potřebné komponenty.
Serverová část aplikace je napsána ve frameworku Django verze 1.1.1 (http://djangoproject.com), vlastní transformace je prováděna výpočetním jádrem napsaným v C++. Jako http server je použit Apache HTTP Server, pro začlenění Django aplikace do serveru je použit WSGI adaptér modwsgi (http://code.google.com/p/modwsgi/). Komunikace klient – server probíhá asynchronně, pro výměnu dat mezi klientem a serverem je použit formát JSON (http://json.org/). 5. TRANSFORMACE RASTRŮ - TEORETICKÉ ZÁKLADY
Teorie a matematické vztahy na jejichž základě je aplikace NKT postavena jsou popsány ve výzkumné zprávě VÚGTK, v.v.i. č. 1151/2009 (ke stažení na adrese http://www.vugtk.cz/ingeocalc/publications/soukup_presnost_el_transf.pdf).
1.1 KONTAKT
Ing. Milan Talich Ph.D., Ing. Ondřej Böhm, Dr. Ing. Lubomír Soukup VÝZKUMNÝ ÚSTAV GEODETICKÝ, TOPOGRAFICKÝ A KARTOGRAFICKÝ, v. v. i Ústecká 98, 250 66 - Zdiby Tel. +420 284 890 515 Fax + 420 284 890 056 Email:
[email protected] Web:
http://www.vugtk.cz/
1.2 PŘÍLOHY PŘÍLOHA 1 - FORMÁT VSTUPNÍHO SOUBORU SOUŘADNIC PRO NKT
Vstupní soubor souřadnic pro transformaci rastrových obrazů je textový soubor v ASCII formátu. Každý řádek obsahuuje buď jeden záznam nebo jedno klíčové slovo ukončené dvojtečkou. Klíčová slova vyjadřují typ informace, který bude následovat a začínají tak vlastní sekci nebo podsekci. (Pod)sekce končí buď začátkem další (pod)sekce nebo koncem souboru. Klíčová slova a odpovídající sekce jsou: - image: začíná informace o jednom vstupním rastrovém souboru. První záznamem za tímto klíčovým slovem je jméno obrazového souboru. - source: uvozuje sekci obsahující identifikátory a souřadnice identických bodů pro příslušný obraz ve zdrojovém souřadném systému. - target: obsahuje identifikátory a souřadnice identických bodů příslušného obrazu v cílové souřadné soustavě. Prázdné řádky jsou ignorovány. V souboru nemusí být pro každý bod uvedeny souřadnice v obou souřadných systémech (souřadnice může uživatel doplnit později) a není stanoven minimální počet identických bodů pro každý obraz (protože identické body mohou být doplněny později). příklad vstupního souboru: image: test.jpg source: 1 2 3 4 5 target: 1 2 3 4 image: test2.jpg source: a10 target: a10
1 450 1 430 110
210 200 10 5 150
1.5 1.1 5.6 2.4 1.8
1 450 1 430
210 200 10 5
1.5 1.1 1.6 12.4
12
190
1.4
1
200
1.5