Alltran. 1. Úvod. 2. Definice problému. Dokumentace knihovny Alltran v 1.01

Podobné dokumenty
IBLIŽNÝCH HODNOT HLEDANÝCH PARAMETR

Lokace odbavovacího centra nákladní pokladny pro víkendový provoz

VÝVOJ SOFTWARU NA PLÁNOVÁNÍ PŘESNOSTI PROSTOROVÝCH SÍTÍ PRECISPLANNER 3D. Martin Štroner 1

Matematika I A ukázkový test 1 pro 2018/2019

Staré mapy TEMAP - elearning

Numerická matematika 1. t = D u. x 2 (1) tato rovnice určuje chování funkce u(t, x), která závisí na dvou proměnných. První

MODELOVÁNÍ A SIMULACE

Iterační výpočty. Dokumentace k projektu pro předměty IZP a IUS. 22. listopadu projekt č. 2

2D transformací. červen Odvození transformačního klíče vybraných 2D transformací Metody vyrovnání... 2

Regresní a korelační analýza

u (x i ) U i 1 2U i +U i+1 h 2. Na hranicích oblasti jsou uzlové hodnoty dány okrajovými podmínkami bud přímo

8a.Objektové metody viditelnosti. Robertsův algoritmus

ALGORITMUS SILOVÉ METODY

2.5. MATICOVÉ ŘEŠENÍ SOUSTAV LINEÁRNÍCH ROVNIC

Řešení radiační soustavy rovnic

SIMULACE. Numerické řešení obyčejných diferenciálních rovnic. Měřicí a řídicí technika magisterské studium FTOP - přednášky ZS 2009/10

Umělé neuronové sítě a Support Vector Machines. Petr Schwraz

Korelační energie. Celkovou elektronovou energii molekuly lze experimentálně určit ze vztahu. E vib. = E at. = 39,856, E d

Přehled základních metod georeferencování starých map

Vícekriteriální rozhodování. Typy kritérií

Numerická matematika A

Modelování elektrických sítí KEE/MS Přednáška na téma: Výpočty chodu sítě. Ing. Jan Veleba, Ph.D. doc. Ing. Karel Noháč, Ph.D.

Řešení radiační soustavy rovnic

Shodnostní Helmertova transformace

SYLABUS PŘEDNÁŠKY 10 Z GEODÉZIE 1

4EK211 Základy ekonometrie

POROVNÁNÍ MEZI SKUPINAMI

4EK211 Základy ekonometrie

1. Spektrální rozklad samoadjungovaných operátorů 1.1. Motivace Vlastní čísla a vlastní vektory symetrické matice 1 1 A = 1 2.

Numerické metody optimalizace

Implementace bioplynové stanice do tepelné sítě

NUMERICAL INTEGRATION AND DIFFERENTIATION OF SAMPLED TIME SIGNALS BY USING FFT

Metoda digitalizace starých glóbů respektující jejich kartografické vlastnosti a Virtuální mapová sbírka Chartae-Antiquae.cz

A u. jsou po řadě počáteční a koncové body úsečky; t je parametr:

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE. 1 Komplexní úloha FAKULTA STAVEBNÍ - OBOR STAVEBNÍ INŽENÝRSTVÍ KATEDRA SPECIÁLNÍ GEODÉZIE

( x ) 2 ( ) Úlohy na hledání extrémů. Předpoklady: 10211

Ivana Linkeová SPECIÁLNÍ PŘÍPADY NURBS REPREZENTACE. 2 NURBS reprezentace křivek

Stanislav Olivík POROVNÁNÍ DVOU METOD HLEDÁNÍ ODRAZNÉHO BODU NA POVRCHU ELIPSOIDU

Numerická integrace konstitučních vztahů

Dopravní plánování a modelování (11 DOPM )

Přednášky část 4 Analýza provozních zatížení a hypotézy kumulace poškození, příklady. Milan Růžička

3 VYBRANÉ MODELY NÁHODNÝCH VELIČIN. 3.1 Náhodná veličina

Určení tvaru vnějšího podhledu objektu C" v areálu VŠB-TU Ostrava

Mechatronické systémy s elektronicky komutovanými motory

6 LINEÁRNÍ REGRESNÍ MODELY

9. cvičení 4ST201. Obsah: Jednoduchá lineární regrese Vícenásobná lineární regrese Korelační analýza. Jednoduchá lineární regrese

KOMPLEXNÍ ČÍSLA. Algebraický tvar komplexního čísla

Monte Carlo metody Josef Pelikán CGG MFF UK Praha.

Otto DVOŘÁK 1 NEJISTOTA STANOVENÍ TEPLOTY VZNÍCENÍ HOŘLAVÝCH PLYNŮ A PAR PARABOLICKOU METODOU PODLE ČSN EN 14522

Kartometrická analýza starých map část 2

Vliv realizace, vliv přesnosti centrace a určení výšky přístroje a cíle na přesnost určovaných veličin

HUDEBNÍ EFEKT DISTORTION VYUŽÍVAJÍCÍ ZPRACOVÁNÍ PŘÍRŮSTKŮ SIGNÁLŮ ČASOVĚ

ANALÝZA RIZIKA A CITLIVOSTI JAKO SOUČÁST STUDIE PROVEDITELNOSTI 1. ČÁST

POTENCIÁL ELEKTRICKÉHO POLE ELEKTRICKÉ NAPĚTÍ

Digitalizace starých glóbů

4/3.3. bodem v rovině (tvoří rovinný svazek sil), jsou vždy. rovnice z-ová. Pro rovnováhu takové soustavy

Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz)

ANALÝZA VZTAHU DVOU SPOJITÝCH VELIČIN

Aproximace funkcí. x je systém m 1 jednoduchých, LN a dostatečně hladkých funkcí. x c m. g 1. g m. a 1. x a 2. x 2 a k. x k b 1. x b 2.

Předloha č. 2 podrobné měření

Těžiště. Fyzikální význam těžiště:

ANALÝZA PRODUKCE OLEJNIN ANALYSIS OF OIL SEED PRODUCTION. Lenka Šobrová

Regresní lineární model symboly

Odraz a lom rovinné monochromatické vlny na rovinném rozhraní dvou izotropních prostředí

LOGICKÉ OBVODY J I Ř Í K A L O U S E K

Laserový skenovací systém LORS vývoj a testování přesnosti

Energie elektrického pole

REGRESNÍ ANALÝZA. 13. cvičení

Přemysl Žiška, Pravoslav Martinek. Katedra teorie obvodů, ČVUT Praha, Česká republika. Abstrakt

Výpočet průsečíků paprsku se scénou

XXX. ASR '2005 Seminar, Instruments and Control, Ostrava, April 29,

7. ZÁKLADNÍ TYPY DYNAMICKÝCH SYSTÉMŮ

Maticová exponenciála a jiné maticové funkce

Výslednice, rovnováha silové soustavy.

Posuzování dynamiky pohybu drážních vozidel ze záznamu jejich jízdy

Statika soustavy těles v rovině

X = x, y = h(x) Y = y. hodnotám x a jedné hodnotě y. Dostaneme tabulku hodnot pravděpodobnostní

Základy finanční matematiky

KOMPLEXNÍ ČÍSLA. Algebraický tvar komplexního čísla

Výpočet průsečíků paprsku se scénou

Bořka Leitla Bolometrie na tokamaku GOLEM

Sylabus 18. Stabilita svahu

6. Demonstrační simulační projekt generátory vstupních proudů simulačního modelu

ŘEŠENÍ PROBLÉMU LOKALIZACE A ALOKACE LOGISTICKÝCH OBJEKTŮ POMOCÍ PROGRAMOVÉHO SYSTÉMU MATLAB. Vladimír Hanta 1, Ivan Gros 2

České vysoké učení technické v Praze Fakulta biomedicínského inženýrství

4.4 Exploratorní analýza struktury objektů (EDA)

Klasifikace a predikce. Roman LUKÁŠ

Kombinatorická minimalizace

INTERAKCE KŘEMÍKU A NIKLU ZA VYSOKÝCH TEPLOT

K přesnosti volného stanoviska

Porovnání metod při georeferencování vícelistového mapového díla Müllerovy mapy Moravy

7.3 Mělká a hluboká kopie Pochopit správně rozdíly mezi mělkou a hlubokou kopií je velmi důležité, provedeme tedy ještě toto shrnutí.

Literatura: Kapitola 5 ze skript Karel Rektorys: Matematika 43, ČVUT, Praha, Text přednášky na webové stránce přednášejícího.

PŘÍSTAVBA KLINIKY SV. KLIMENTA DOKUMENTACE PRO STAVEBNÍ POVOLENÍ GENNET STUDIE DENNÍHO OSVĚTLENÍ. Gennet Letná s.r.o.

Dvoukroková metoda kalibrace digitální kamery s využitím nelineárních transformací

Využití logistické regrese pro hodnocení omaku

Přehled vhodných metod georeferencování starých map

VÝPOČET PŘETVOŘENÍ PŘÍHRADOVÝCH KONSTRUKCÍ SILOVOU METODOU řešený příklad pro BO004

Určení tlouštky folie metodou konvergentního elektronového svazku (TEM)-studijní text.

podle typu regresní funkce na lineární nebo nelineární model Jednoduchá lineární regrese se dá vyjádřit vztahem y

Transkript:

Dokumentace knhovny Alltran v 1.1 1. Úvod Alltran Jedná se o knhovnu pro výpočet transformačního klíče a transformac souřadnc pro různé transformace založené na metodě nejmenších čtverců. Knhovna obsahuje zejména transformace používané v rámc oborů geodéze, kartografe a fotogrammetre. Knhovna je napsaná v jazyce C++ a je dostupná pod všeobecnou veřejnou lcencí GNU (vz [ 1]) na adrese "k154.fsv.cvut.cz/~koska". Byl vytvořen jednoduchý konzolový program pro použtí této knhovny a pro testování vhodnost jednotlvých transformací. 2. Defnce problému Knhovna je vhodná pro mplementac transformací založených na metodě nejmenších čtverců dále MNČ. Pro tuto metodu je oprava defnována jako rozdíl mez souřadncem transformovaným a souřadncem daným (v soustavě do které transformujeme): T T vx, = X ( a, x ) X, (1) kde v x, je oprava souřadnce x -tého bodu, a je vektor parametrů transformačního klíče, x je vektor tého bodu v lokální soustavě (soustava z které transformujeme) a X je x sová souřadnce bodu v globální soustavě (soustava do které transformujeme). Pro výpočet transformačního klíče v souladu s podmínkou MNČ je použta Gauss Newtonova terační metoda (např. vz [ 2]). V případě nelneárního tvaru transformačních rovnc z hledska neznámých je nutno do výpočtu zadat přblžné hodnoty. U mplementovaných transformací jsou přblžné hodnoty získávány z vhodných tvarů defnce opravy, které jsou lneární z hledska transformačních parametrů. Gauss Newtonovu metodu je možné přímo použít v hrančním případě, kdy je počet hledaných parametrů roven počtu rovnc a dochází k výpočtu bez vyrovnání. pro vyrovnání jsou zavedeny metodou Lagrangeových multplkátorů. 1

3. Implementované transformace Základní typ Základní Dstorze Doposud mplementované transformace jsou uvedeny v následujících tabulkách: Polynomcké Přímá lneární (DLT) Konkrétní typ Označení Dmenze obecná afnní lneární general_affne_lnear multdm. obecná afnní general_affne_m multdm. afnní affne_2d, affne_3d 2D, 3D podobnostní smlarty_2d (_3d) 2D, 3D shodnostní dentty_2d (_3d) 2D, 3D korekce radálních dstorzí rd 2D korekce radálních dstorzí 2 rd2 2D korekce radálních a rd_td 2D tangencálních dstorzí kvadratcká quadratc_2d 2D kubcká cubc_2d 2D čtvrtého stupně quartc_2d 2D DLT (2D) lneární dlt_app, dlt_2d_app 2D, 3D->2D DLT (2D) dlt, dlt_2d 2D, 3D->2D DLT (2D) s rd dlt_rd, dlt_2d_rd 2D, 3D->2D DLT (2D) s rd2 dlt_rd2, dlt_2d_rd2 2D, 3D->2D nverze DLT 2D s rd2 nv_dlt_2d_rd2 2D DLT 2D rd_td dlt_2d_rd_td 2D DLT 2D s cubc_2d dlt_2d_cubc_2d 2D TPS Thn Plate Splnes thn_plate_splne_2d 2D Projektvní Projektvní (fxní x, y, f) projectve 3D->2D Projektvní (fxní f) projectve_xy 3D->2D Projektvní (fxní x, y) projectve_f 3D->2D Projektvní (fxní x, y, f) s rd2 projectve_rd2 3D->2D Projektvní (fxní f) s rd projectve_xy_rd 3D->2D Projektvní (fxní f) s rd_td projectve_xy_rd_td 3D->2D Projektvní (fxní x, y, f) projectve_planar 3D->2D Projektvní (fxní f) projectve_planar_xy 3D->2D Projektvní ze dvou snímků Projektvní ze dvou snímků (fxní x, y, f) Tab. 1 Jednoduché transformace projectve_planar_double_nner 3D->2D projectve_planar_double 3D->2D Kromě jednoduchý transformací je v Alltranu mplementována řada transformací složených vz 3.8 Složené transformace na straně 21. V dalším textu jsou uvedeny podrobnost k jednotlvým mplementovaným transformacím. U jednotlvých transformací nejsou, až na výjmky, uvedeny nterpretace hledaných parametrů. Pro každou transformac je uveden tvar rovnc, podmínky, počet neznámých (p), podmínek (q), nutných konstant (c), mnmální počet rovnc (p-q) a z toho plynoucí mnmální počet bodů (pb), pořadí neznámých a způsob řešení přblžných hodnot. 2

3.1. Základní transformace V dalším textu jsou základním transformacem myšleny transformace tvaru (příklad pro dmenz n = 3): X = X + M R x, X X x r11 r12 r13 mx, (2) X = Y, X = Y, x = y, R = r21 r22 r23, M = my Z Z z r r r m 31 32 33 z kde X je vektor posunu, R je rotační matce a dagonální členy matce M představují měřítka v jednotlvých osách. Sloupce matce R jsou vektory os lokálního souřadncového systému x v globálním souřadncovém systému X. Prvky matce je možno vhodněj popsat následovně: r r r Xx Xy Xz = ryx ryy ryz R, (3) rzx rzy r Zz kde prvek r j představuje cosnus úhlu mez uvedeným osam j. Tato transformace je doplňována různým nelneárním podmínkam, které zabezpečí její požadované vlastnost. 3.1.1. Obecná afnní transformace lneární tvar Obecná afnní transformace v lneárním tvaru v příkladu dmenze n = 3 (proměnné defnované v souladu s (2)): Nejsou X = X + R x. (4) Tato transformace je mplementována pro lbovolnou dmenz n. : p = n + n 2, q =, p-q = n + n 2, pb = n + 1. R(n,n) - výps po řádcích. jsou lneární. 3.1.2. Obecná afnní transformace Vz (2). 3

Příklad pro dmenz n = 3: r + r + r 1 =, 11 12 13 r + r + r 1 =, 21 22 23 r + r + r 1 =. 31 32 33 Tato transformace je mplementována pro lbovolnou dmenz n. : p = 2 n + n 2, q = n, p-q = n + n 2, pb = n + 1. X (1,n), M(1,n), R(n,n) - výps po řádcích. Obecná afnní transformace v lneárním tvaru. (5) 3.1.3. Afnní transformace ve 2D Vz (2). defnované v 3.1.2 a r11 r21 + r12 r22 =. (6) Není důležté, jestl podmínku ortogonalty defnujeme pro řádky nebo sloupce. : p = 8, q = 3, p-q = 5, pb = 3. n=2, X (1,n), M(1,n), R(n,n) - výps po řádcích. Obecná afnní transformace v lneárním tvaru. 3.1.4. Podobnostní transformace ve 2D V lteratuře je tato transformace často označována jako Helmertova transformace. Vz (2). Tvar rovnc a podmínky jsou stejné jako v afnní transformac ve 2D, pouze přbyla další podmínka stejného měřítka v obou osách: m x m =. (7) Není důležté, jestl podmínku ortogonalty defnujeme pro řádky nebo sloupce. y 4

: p = 8, q = 4, p-q = 4, pb = 2. n=2, X (1,n), M(1,n), R(n,n) - výps po řádcích. Obecná afnní transformace v lneárním tvaru nebo vz 3.1.9. 3.1.5. Shodnostní transformace ve 2D Vz (2). jsou stejné jako v afnní transformac ve 2D, pouze přbyly další podmínky fxace měřítka: m m x y 1 =, 1 =. (8) Není důležté, jestl podmínku ortogonalty defnujeme pro řádky nebo sloupce. : p = 8, q = 5, p-q = 3, pb = 2. n=2, X (1,n), M(1,n), R(n,n) - výps po řádcích. Obecná afnní transformace v lneárním tvaru nebo vz 3.1.9. 3.1.6. Afnní transformace ve 3D Vz (2). jsou stejné jako v obecné afnní transformac, pouze přbyly další podmínky kolmost os: r r + r r + r r =, 11 21 12 22 13 23 r r + r r + r r =, 21 31 22 32 23 33 r r + r r + r r =. 11 31 12 32 13 33 (9) : p = 15, q = 6, p-q = 9, pb = 3. n=3, X (1,n), M(1,n), R(n,n) - výps po řádcích. 5

Obecná afnní transformace v lneárním tvaru nebo vz 3.1.9. 3.1.7. Podobnostní transformace ve 3D V lteratuře je tato transformace často označována jako Helmertova transformace. Vz (2). jsou stejné jako v afnní transformac ve 3D, pouze přbyla další podmínky stejného měřítka v osách: m m x y my =, m = z (1) : p = 15, q = 8, p-q = 7, pb = 3. n=3, X (1,n), M(1,n), R(n,n) - výps po řádcích. Obecná afnní transformace v lneárním tvaru nebo vz 3.1.9. 3.1.8. Shodnostní transformace ve 3D V lteratuře je tato transformace často označována jako Helmertova transformace. Vz (2). jsou stejné jako v afnní transformac ve 3D, pouze přbyly další podmínky fxace měřítka: m m m x y z 1 =, 1 =, 1 =. : p = 15, q = 9, p-q = 6, pb = 3?. n=3, X (1,n), M(1,n), R(n,n) - výps po řádcích. Obecná afnní transformace v lneárním tvaru nebo vz 3.1.9. (11) 6

3.1.9. Poznámka k nutnému počtu bodů pro přblžné hodnoty Pro výpočet přblžných hodnot hledaných parametrů se používá obecná afnní transformace vz [ 3]. Úskalím této metody je, že pokud skutečný vztah obou souřadncových systémů je přílš vzdálen ortogonální transformac (podobnostní transformace) potom budou přblžné hodnoty přílš vzdálené hledaným hodnotám a Gauss Newtonova metoda nebude konvergovat. Druhým problémem této volby přblžných hodnot je, že obecná afnní transformace má, oprot dalším transformacím z ní odvozených, nejmenší počet podmínek q a proto je pro n mnmální počet rovnc (a tedy mnmální počet dentckých bodů) větší. Tento problém je řešen pro podobnostní a shodnostní ve 2D (dva nutné body) a afnní, podobnostní a shodnostní ve 3D (tř nutné body). Obecná afnní transformace ve 2D vyžaduje totž tř dentcké body a ve 3D čtyř dentcké body. Stuace ve 2D je jednodušší. Nejprve se vypočítá úhel stočení jako rozdíl směrníku v globální soustavě a v lokální soustavě. Potom se v případě podobnostní transformace určí měřítko jako podíl vzdálenost v globální a lokální soustavě. Určení posunu je shodné pro případ ve 3D a je popsáno následující rovncí pro lbovolný bod: X = X M R x. (12) Stuace ve 3D je trochu složtější. V lteratuře [ 4] a [ 5] a byly nalezeny dva možné způsoby výpočtu přblžných transformačních parametrů ve 3D. Oba způsoby jsou založené na stejném prncpu, ale metoda uvedená v první publkac je jednoduší. Nejprve je řešena matce R. Metoda je založena na defnc další souřadncové soustavy např. xyz'. V obou soustavách je vektor osy x' defnován jako normovaný vektor spojnce prvního a druhého bodu. Vektor osy y' je defnován jako vektor kolmý na x' a ležící v rovně dané trojcí bodů. Vektor osy z' je kolmý na oba předchozí vektory a doplňuje pravotočvou souřadncovou soustavu. Tím je dána jedná souřadncová soustava v obou výchozích souřadncových soustavách a dvě příslušné rotační matce RX a Rx (vz. (3)). Složením těchto dvou matc je dána matce rotace R = RX.Rx T. V případě afnní nebo podobnostní transformace je možné měřítko přblžně určt z průměrného poměru délky mez body v globálním a lokálním systému. Pro určení posunu je možné opět použít rovnc (12). 3.2. Funkce popsující dstorz Tvar rovnc (14), (15) a (16) neodpovídá přímo rovnc (1), protože obsahuje vyrovnávané souřadnce na pravé straně rovnc. Například pro rovnc (14) by tvar rovnce v souladu s (1) byl: X = x ( x x ) ( k r + k r + k r ) 2 4 6 1 2 3 Y = y ( y y ) ( k r + k r + k r ), (13) 2 4 6 1 2 3 r = ( x x ) + ( y y ) Tento tvar by byl ale v rozporu s nejčastějším použtím těchto funkcí jak součástí projektvní, kolneární nebo přímé drektvní transformace vz 3.4.3. Níže uvedené vztahy mnmalzují sumu čtverců "uzávěrů" rovnc (14) a v tomto konkrétním případě tyto uzávěry odpovídají opravám na souřadncích x, y. Výsledek z vyrovnání by měl být velm podobný a aposterorní jednotková odchylka stejná jako v případě rovnc (13). 7

3.2.1. Radální dstorze X = x ( X x ) ( k r + k r + k r ) 2 4 6 1 2 3 Y = y ( Y y ) ( k r + k r + k r ) 2 4 6 1 2 3 r = ( X x ) + ( Y y ) Nejsou. : p = 3, q =, p-q = 3, pb = 2. k 1, k 2, k 3. c = 2(x, y ). Lneární. 3.2.2. Radální dstorze 2 X = x ( X x ) ( k r + k r + k r ) 2 4 6 1 2 3 Y = y ( Y y ) ( k r + k r + k r ) 2 4 6 1 2 3 r = ( X x ) + ( Y y ) Nejsou. : p = 5, q =, p-q = 5, pb = 3. k 1, k 2, k 3, x, y. c = 2(x, y ). Lneární. 3.2.3. Radální a tangencální dstorze, (14), (15) X x X x k r k r k r p r X x p X x Y y 2 4 6 2 2 = ( ) ( + + ) ( + 2 ( ) ) 2 ( ) ( ) 1 2 3 2 4 6 2 2 = ( ) ( + + ) ( + 2 ( ) ) 2 ( ) ( ) 1 2 3 r = ( X x ) + ( Y y ) 1 2 Y y Y y k r k r k r p r Y y p X x Y y 2 1, (16) 8

Nejsou. : p = 5, q =, p-q = 5, pb = 3. k 1, k 2, k 3, p 1, p 2. c = 2 (x, y ). Lneární. 3.3. Polynomcké transformace Jedná se o polynomcké transformace druhého (kvadratcké), třetího (kubcké) a čtvrtého stupně ve 2D. Všechny tyto transformace jsou z hledska hledaných parametrů lneární, a proto není nutné hledat jejch přblžné hodnoty. Transformace čtvrtého stupně má tvar: X = a + a x + a y + a x + a x y + a y 2 2 1 2 3 4 5 6 + a x + a x y + a x y + a y 3 2 2 3 7 8 9 1 + a x + a x y + a x y + a x y + a y 4 3 2 2 3 4 11 12 13 14 15 Y = b + b x + b y + b x + b x y + b y 2 2 1 2 3 4 5 6 + b x + b x y + b x y + b y 3 2 2 3 7 8 9 1 + b x 11 + b x y + b x y + b x y + b y 4 3 2 2 3 4 12 13 14 15 (17) 3.3.1. Kvadratcká Vz rovnce (17) pouze členy s koefcenty a 1 až a 6 a b 1 až b 6. Nejsou. : p = 12, q =, p-q = 12, pb = 6. a 1,.., a 6, b 1,.., b 6. Lneární. 3.3.2. Kubcká 9

Vz rovnce (17) pouze členy s koefcenty a 1 až a 1 a b 1 až b 1. Nejsou. : p = 2, q =, p-q = 2, pb = 1. a 1,.., a 1, b 1,.., b 1. Lneární. 3.3.3. Čtvrtého stupně Vz rovnce (17). Nejsou. : p = 3, q =, p-q = 3, pb = 15. a 1,.., a 15, b 1,.., b 15. Lneární. 3.4. Transformace založené na drektní lneární transformac Drektní lneární transformace (dále DLT) je odvozena z projektvní transformace: L1 X + L2 Y + L3 Z + L4 A x = = L9 X + L1 Y + L11 Z + 1 D, (18) L5 X + L6 Y + L7 Z + L8 B y = = L X + L Y + L Z + 1 D 9 1 11 kde parametry L 1,... L 11 jsou hledané parametry. V souladu s běžným značením souřadnc ve fotogrammetr jsou snímkové souřadnce (globální) značeny malým písmeny a souřadnce prostorové (lokální) velkým písmeny (další nformace o DLT např. [ 6]). Její výhoda je lneární forma pro upravenou defnc oprav. Nevýhodou je naopak nemožnost řešení pro dentcké body ležící v rovně. Dalším vlvem převedení projektvní transformace na DLT je změna počtu parametrů. Původní projektvní transformace obsahuje neznámých parametrů devět a DLT jedenáct. Dva nadbytečné parametry zavádějí do výpočtu stočení souřadncových os a různá měřítka v obou osách. Proto je možné tyto parametry vhodnou volbou podmínek ve vyrovnání potlačt. 1

3.4.1. DLT v lneárním tvaru Pro výpočet přblžných hodnot hledaných parametrů upravíme rovnce (18) a získáme lneární tvar rovnc: Tento tvar rovnce neodpovídá přímo rovnc (1), protože př jeho aplkac nedochází k mnmalzac oprav souřadnc, ale "uzávěrů" rovnc (19). Jako přblžné hodnoty jsou takto získané parametry DLT dostatečné. Nejsou. x = L1 X + L2 Y + L3 Z + L4 x L9 X x L1 Y x L11 Z. (19) y = L X + L Y + L Z + L y L X y L Y y L Z 5 6 7 8 9 1 11 : p = 11, q =, p-q = 11, pb = 6. L 1,.., L 11. Lneární. 3.4.2. DLT Vz (18). Nejsou. : p = 11, q =, p-q = 11, pb = 6. L 1,.., L 11. DLT v lneárním tvaru. 3.4.3. DLT s opravou radální dstorze DLT byly rozšířeny o tvar elmnující vlv radální dstorze. Tento tvar rovnce neodpovídá přímo rovnc (1). Exstují dvě možnost jak tyto rovnce řešt. První v Alltranu použtou možností je řešení dstorzních členů v původních snímkových souřadncích. To znamená, že v rovnc (2) jsou ve všech teracích za snímkové souřadnce dosazovány původní neopravené hodnoty. Z hledska mplementace vyrovnání je toto řešení jednoduší, ale naopak př použtí v jednoduché transformac musí docházet k teračnímu 11

výpočtu dstorzních členů (ty jsou totž známy a defnovány ve výsledných snímkových souřadncích). Druhou možností je řešení "postupného přblžování". Na pravé straně rovnce (2) by se v každé nové terac dosazovala aktuální opravená hodnota snímkových souřadnc. Tím by vždy došlo k úpravě výchozích vztahů a docházelo by k novému vyrovnání. Výpočet by byl zastaven v okamžku, kdy by došlo k ztotožnění hodnot na obou stranách rovnce. Nejsou. L X + L Y + L Z + L x = ( x x ) ( k r + k r + k r ) 1 2 3 4 2 4 6 1 2 3 L9 X + L1 Y + L11 Z + 1 L X + L Y + L Z + L y = ( y y ) ( k r + k r + k r ), (2) 5 6 7 8 2 4 6 1 2 3 L9 X + L1 Y + L11 Z + 1 r = ( x x ) + ( y y ) : p = 14, q =, p-q = 14, pb = 7. L 1,.., L 11, k 1, k 2, k 3. L 1,.., L 11 z DLT a k 1, k 2, k 3 =. 3.4.4. DLT s opravou radální dstorze 2 jsou totožné s rovncem (2). Jednou změnou je, že střed radální dstorze nemusí být totožný s hlavním snímkovým bodem a je zahrnut mez hledané parametry. Vz (2). Nejsou. : p = 16, q =, p-q = 16, pb = 8. L 1,.., L 11, k 1, k 2, k 3, x, y.. Z DLT s opravou radální dstorze. 3.5. Kolneární transformace (DLT 2D) Tvar rovnc je u kolneární transformace (dále DLT 2D) je podobný jako ve 3D: 12

L1 X + L2 Y + L3 A x = = L7 X + L8 Y + 1 D. (21) L4 X + L5 Y + L6 B y = = L X + L Y + 1 D 7 8 Proto jsou ostatní transformace z ní odvozené podobné těm v 3D. c = 2 (x, y ). 3.5.1. DLT 2D v lneárním tvaru x = L1 X + L2 Y + L3 x L7 X x L8 Y 1 y = L X + L Y + L y L X y L Y 1. (22) 4 5 6 7 8 Nejsou. : p = 8, q =, p-q = 8, pb = 4. L 1,.., L 8. Lneární. 3.5.2. DLT 2D Vz (21). Nejsou. : p = 8, q =, p-q = 8, pb = 4. L 1,.., L 8. DLT 2D v lneárním tvaru. 3.5.3. DLT 2D s opravou radální dstorze 13

Nejsou. L X + L Y + L x = ( x x ) ( k r + k r + k r ) 1 2 3 2 4 6 1 2 3 L7 X + L8 Y + 1 L X + L Y + L y = ( y y ) ( k r + k r + k r ), (23) 4 5 6 2 4 6 1 2 3 L7 X + L8 Y + 1 r = ( x x ) + ( y y ) : p = 11, q =, p-q = 11, pb = 6. L 1,.., L 8, k 1, k 2, k 3. c = 2 (x, y ). L 1,.., L 8 z DLT 2D a k 1, k 2, k 3 =. 3.5.4. DLT 2D s opravou radální dstorze 2 jsou totožné s rovncem (2). Jednou změnou je, že střed radální dstorze nemusí být totožný s hlavním snímkovým bodem a je zahrnut mez hledané parametry. Vz (23). Nejsou. : p = 13, q =, p-q = 13, pb = 7. L 1,.., L 8, k 1, k 2, k 3, x, y. c = 2 (x, y ). Z DLT 2D s opravou radální dstorze. 3.5.5. Inverzní DLT 2D s opravou radální dstorze 2 Nestandardní transformace v rámc knhovny Alltran. Slouží pouze pro výpočet transformačního klíče k nverzní transformace 3.5.4 DLT 2D s opravou radální dstorze 2 a k transformac souřadnc podle níže uvedených rovnc: Úpravou těchto rovnc jsem vyjádřl souřadnce bodu X : 14

X ( x + dx) M + ( y + dy) M + M = ( x + dx) M + ( y + dy) M + 1 1 2 3 7 8 ( x + dx) M + ( y + dy) M + M Y = ( x + dx) M + ( y + dy) M + 1 4 5 6 7 8 M = ( L L L ) / norm, M = ( L L L ) / norm 1 6 8 5 2 2 3 8 M 3 = ( L3 L5 L2 L6 ) / norm, M 4 = ( L4 L6 L7 ) / norm M 5 = ( L3 L7 L1 ) / norm, M 6 = ( L 1 L 6 L 3 L 4 ) / norm. (24) M = ( L L L L ) / norm, M = ( L L L L ) / norm 7 5 7 4 8 8 1 8 2 7 norm = L L L L 2 4 1 5 dx = ( x x ) ( k r + k r + k r ) 2 4 6 1 2 3 dy = ( y y ) ( k r + k r + k r ) 2 4 6 1 2 3 r = ( x x ) + ( y y ) 3.5.6. DLT 2D s opravou radální a tangencální dstorze L X + L Y + L x = ( x x ) ( k r + k r + k r ) 1 2 3 2 4 6 1 2 3 L7 X + L8 Y + 1 p ( r + 2 ( x x ) ) 2 p ( x x ) ( y y ) 2 2 1 2 L X + L Y + L y = ( y y ) ( k r + k r + k r ). (25) 4 5 6 2 4 6 1 2 3 L7 X + L8 Y + 1 p r y y p x x 2 2 ( + 2 ( ) ) 2 ( ) ( y y 2 1 r = ( x x ) + ( y y ) Nejsou. : p = 13, q =, p-q = 13, pb = 7. L 1,.., L 8, k 1, k 2, k 3, p 1, p 2. c = 2 (x, y ). L 1,.., L 8 z DLT 2D a k 1, k 2, k 3, p 1, p 2 =. 3.5.7. DLT 2D s kubckou ) 15

Nejsou. L X + L Y + L ( 1 2 3 2 2 x = a1 x + a2 y + a3 x + a4 x y + a5 y L7 X + L8 Y + 1 + a x + a x y + a x y + a y 3 2 2 3 11 12 13 14 L X + L Y + L ( 4 5 6 2 2 y = a6 x + a7 y + a8 x + a9 x y + a1 y L7 X + L8 Y + 1 + a x + a x y + a x y + a y ) 3 2 2 3 15 16 17 18 : p = 21, q =, p-q = 21, pb = 11. a 1,.., a 18, L 1,.., L 8. L 1,.., L 8 z DLT 2D a a 1,.., a 18 =. 3.6. Thn Plate Splne 2D ), (26) Tato transformace není založena na rozdíl od ostatních uvedených na MNČ a proto byla její mplementace náročnější. Je testováno využtí této transformace pro odstranění dstorzí objektvu. Více o této transformac vz [ 7]. 3.7. Transformace založené na projektvní transformac 3.7.1. Projektvní transformace r ( X X ) + r ( Y Y ) + r ( Z Z ) ( ) ( ) ( ) 11 21 31 x = x f r 13 X X + r 23 Y Y + r 33 Z Z r ( X X ) + r ( Y Y ) + r ( Z Z ) ( ) ( ) ( ) 12 22 32 y = y f r 13 X X + r 23 Y Y + r 33 Z Z. (27) 16

r + r + r 1 =, 11 12 13 r + r + r 1 =, 21 22 23 r + r + r 1 =, 31 32 33 r r + r r + r r =, 11 21 12 22 13 23 r r + r r + r r =, 21 31 22 32 23 33 r r + r r + r r =, 11 31 12 32 13 33 cx =, cy =, f cf =. : p = 15, q = 9, p-q = 6, pb = 4?. r 11, r 21,..,r 23, r 33, X, Y, Z, x, y, f. c = 3(cx, cy, cf). Řešení pro čtyř body podle [ 9]. x y (28) 3.7.2. Projektvní transformace s neznámým hlavním bodem Vše stejné jako u projektvní transformace, pouze x a y není zafxováno podmínkou, ale je vyrovnáváno. 3.7.3. Projektvní transformace s neznámým ohnskem Vše stejné jako u projektvní transformace, pouze f není zafxováno podmínkou, ale je vyrovnáváno. 3.7.4. Projektvní transformace s opravou radální dstorze 2 r ( X X ) + r ( Y Y ) + r ( Z Z ) x = x f ( x x2 ) ( k r + k r + k r ) 11 21 31 2 4 6 1 2 3 r13 ( X X ) + r23 ( Y Y ) + r33 ( Z Z) r ( X X ) + r ( Y Y ) + r ( Z Z ) y = y f ( y y2 ) ( k r + k r + k 12 22 32 2 4 1 2 r13 ( X X ) + r23 ( Y Y ) + r33 ( Z Z) r = ( x x2 ) + ( y y2 ) 3 r ),(29) 6 17

r + r + r 1 =, 11 12 13 r + r + r 1 =, 21 22 23 r + r + r 1 =, 31 32 33 r r + r r + r r =, 11 21 12 22 13 23 r r + r r + r r =, 21 31 22 32 23 33 r r + r r + r r =. 11 31 12 32 13 33 : p = 17, q = 6, p-q = 11, pb = 6. r 11, r 21,..,r 23, r 33, X, Y, Z, x2, y2, k 1,.., k 3. c = 3(x, y, f). Z projektvní transformace a k 1,.., k 3 =. (3) 3.7.5. Projektvní transformace s neznámým hlavním bodem a opravou radální dstorze r ( X X ) + r ( Y Y ) + r ( Z Z ) 11 21 31 2 4 6 x = x f ( x x ) ( k r + k r + k r ) 1 2 3 r ( X X ) + r ( Y Y ) + r ( Z Z ) 13 23 33 r ( X X ) + r ( Y Y ) + r ( Z Z ) 12 22 32 2 4 6 y = y f ( y y ) ( k r + k r + k r ), (31) 1 2 3 r ( X X ) + r ( Y Y ) + r ( Z Z ) 13 23 33 r = ( x x ) + ( y y ) Stejné jako u 3.7.4 Projektvní transformace s opravou radální dstorze 2. : p = 17, q = 6, p-q = 11, pb = 6. r 11, r 21,..,r 23, r 33, X, Y, Z, x, y, k 1,.., k 3. c = 3(x, y, f). Z 3.7.2 Projektvní transformace s neznámým hlavním bodem a k 1,.., k 3 =. 3.7.6. Projektvní transformace s neznámým hlavním bodem a opravou radální a tangencální dstorze 18

r ( X X ) + r ( Y Y ) + r ( Z Z ) ( ) ( ) ( ) 11 21 31 x = x f r 13 X X + r 23 Y Y + r 33 Z Z ( x x ) ( k r + k r + k r ) p ( r + 2 ( x x ) ) 2 p ( x x ) ( y y ) 2 4 6 2 2 1 2 3 1 2 r ( X X ) + r ( Y Y ) + r ( Z Z ) + ) 33 ( ) 12 22 32 y = y f r 13 ( X X ) r 23 ( Y Y + r Z Z ( y y ) ( k r + k r + k r ) p ( r + 2 ( y y ) ) 2 p ( x x ) ( y y ) 2 4 6 2 2 1 2 3 r = ( x x ) + ( y y ) 2 1 Stejné jako u 3.7.4 Projektvní transformace s opravou radální dstorze 2. : p = 19, q = 6, p-q = 13, pb = 6. r 11, r 21,..,r 23, r 33, X, Y, Z, x, y, k 1,.., k 3, p 1, p 2. c = 3(x, y, f)., (32) Z 3.7.5 Projektvní transformace s neznámým hlavním bodem a opravou radální dstorzea k 1,.., k 3 =. 3.7.7. Projektvní transformace s rovnným polem pro přblžné hodnoty Vše stejné jako u 3.7.1 Projektvní transformace pouze rozdílný způsob řešení přblžných hodnot vz [ 1]. 3.7.8. Projektvní transformace s rovnným polem pro přblžné hodnoty s neznámým hlavním bodem Vše stejné jako u předchozího typu transformace, pouze x a y není zafxováno podmínkou, ale je vyrovnáváno. 3.7.9. Projektvní transformace ze dvou snímků s neznámým prvky vntřní orentace 19

r ( X X ) + r ( Y Y ) + r ( Z Z ) 11 21 31 x = x f r 13 X X + r 23 Y Y + r 33 Z Z ( ) ( ) ( ) r ( X X ) + r ( Y Y ) + r ( Z Z ) 12 22 32 y = y f r 13 X X + r 23 Y Y + r 33 Z Z 11 21 31 x = x f r 2 ( 2 ) 2 13 X X + r Y Y + r Z Z 23 33 = ( ) ( ) ( ). (33) r2 ( X X 2 ) + r2 ( Y Y 2 ) + r2 ( Z Z 2 ) ( 2 ) 2 ( 2 ) r2 ( X X 2 ) + r2 ( Y Y 2 ) + r2 ( Z Z 2 ) 12 22 32 y y f r 13 X X + r 23 Y Y + r 33 Z Z 2 ( 2 ) 2 ( 2 ) 2 ( 2 ) r + r + r 1 =, 11 12 13 r + r + r 1 =, 21 22 23 r + r + r 1 =, 31 32 33 r r + r r + r r =, 11 21 12 22 13 23 r r + r r + r r =, 21 31 22 32 23 33 r r + r r + r r =, 11 31 12 32 13 33 r + r + r = 1, 11 12 13 r + r + r = 1, 21 22 23 r + r + r = 1 31 32 33 r2 r2 + r2 r2 + r2 r2 =, 11 21 12 22 13 23 r2 r2 + r2 r2 + r2 r22 =, 21 31 22 32 23 33 11 31 12 32 13 33, r2 r2 + r2 r2 + r2 r2 =, (34) : p = 27, q = 12, p-q = 15, pb = 4. r 11, r 21,..,r 23, r 33, X, Y, Z, r2 11, r2 21,..,r2 23, r2 33, X2, Y2, Z2,x, y, f. c = 3(x, y, f). Řešení pro čtyř body podle [ 9]. 3.7.1. Projektvní transformace ze dvou snímků Vz (33). 2

Vz (34) a x y cx =, cy =, f cf =. (35) : p = 27, q = 15, p-q = 12, pb = 4 (z důvodu výpočtu přblžných hodnot). r 11, r 21,..,r 23, r 33, X, Y, Z, r2 11, r2 21,..,r2 23, r2 33, X2, Y2, Z2,x, y, f. c = 3(cx, cy, cf). Řešení pro čtyř body podle [ 9]. 3.8. Složené transformace V knhovně Alltran exstuje třída pro snadné sérové skládání mplementovaných transformací. Takto vytvořené transformace mají stejné rozhraní jako transformace jednoduché. Seznam složených transformací vz Chyba! Nenalezen zdroj odkazů.. Základní typ Označení (konkrétní typy) Dmenze Přímá lneární dlt_plus_rd 3D->2D (DLT) dlt_plus_rd2 3D->2D dlt_plus_tps_2d 3D->2D dlt_2d_plus_tps_2d 2D dlt_2d_rd2_plus_tps_2d 2D dlt_2d_plus_rd 2D dlt_2d_plus_rd2 2D dlt_2d_plus_quadratc_2d 2D dlt_2d_plus_cubc_2d 2D dlt_2d_plus_quartc_2d 2D dlt_2d_rd_td_plus_cubc_2d 2D dlt_2d_plus_rd_td 2D Projektvní projectve_xy_plus_rd 3D->2D projectve_xy_plus_rd_td 3D->2D projectve_xy_plus_rd2 3D->2D projectve_xy_plus_quadratc_2d 3D->2D projectve_xy_plus_cubc_2d 3D->2D projectve_xy_plus_quartc_2d 3D->2D projectve _plus_cubc_2d 3D->2D Tab. 2 Složené transformace 21

4. Realzace knhovny Knhovna je napsána v jazyce C++. Níže je uvedena struktura knhovny Alltran. Jednotlvé buňky představují názvy tříd vz Tab. 1 Jednoduché transformace a Tab. 2 Složené transformace, spojovací čáry dagramu představují dědčnost. 22

all_tran_base general_affne_lnear general_affne_m affne_2d smlarty_2d dentty_2d affne_3d smlarty_3d dentty_3d rd rd2 rd_td quadratc_2d cubc_2d quartc_2d dlt_2d_app dlt_2d dlt_2d_rd dlt_2d_rd2 nv_dlt_2d_rd2 dlt_2d_rd_td dlt_2d_cubc_2d dlt_app dlt dlt_rd dlt_rd2 thn_plate_splne_2d projectve_nner projectve projectve_xy projectve_f projectve_xy_rd projectve_xy_rd_td projectve_rd2 projectve_planar_nner projectve_planar_xy projectve_planar projectve_double_nner projectve_double Obr. 1 Dagram dědčnost pro jednoduché transformace 23

all_tran_base composte_tran_base Obr. 2 Dagram dědčnost pro složené transformace Základní třídou je tedy "all_tran_base". Je to čstě vrtuální třída a defnuje základní rozhraní pro všechny mplementované transformace. Pro prác s matcem je použta knhovna MatVec (vz [ 8]). 4.1. Implementace nové transformace založené na MNČ Implementace transformace je ukázána formou komentovaného příkladu pro drektní lneární transformace DLT. class dlt : publc all_tran_base { publc: //defnce konstruktorů a destruktoru //je pouze zadán počet hledaných parametrů, podmínek a vstupních konstant dlt(const Mat<>& XX,const Mat<>& xx) dlt_plus_rd dlt_plus_rd2 dlt_plus_tps_2d dlt_2d_plus_tps_2d dlt_2d_rd2_plus_tps_2d dlt_2d_plus_rd dlt_2d_plus_rd2 dlt_2d_plus_quadratc_2d dlt_2d_plus_cubc_2d dlt_2d_plus_quartc_2d dlt_2d_rd_td_plus_cubc_2d dlt_2d_plus_rd_td projectve_xy_plus_rd projectve_xy_plus_rd_td projectve_xy_plus_rd2 projectve_xy_plus_quadratc_2d projectve_xy_plus_cubc_2d projectve_xy_plus_quartc_2d projectve _plus_cubc_2d : all_tran_base(xx,xx,11) // 11 je počet hledaných parametrů 24

{tt="dlt";q=;c=;} //"q" je počet podmínek a "c" je počet konstant //případ známého transformačního klíče dlt(const Vec<> hh) : all_tran_base(hh,11) {tt="dlt";} //mplctní konstruktor je nutný pouze v případě, že se transformace bude //používat ve složené transformac dlt() : all_tran_base(11) {tt="dlt";} vrtual ~dlt (){} //pops konkrétní transformace ostream& report_constants(ostream& out) const { out<<endl<<endl<<tt; out<<endl<<"the equaton of "<<tt<<" s:"; out<<endl<<"x = X*L1 + Y*L2 + Z*L3 + L4 / (X*L9 + Y*L1 + Z*L11 + 1)"; out<<endl<<"y = X*L5 + Y*L6 + Z*L7 + L8 / (X*L9 + Y*L1 + Z*L11 + 1)"; out<<endl<<"computed parameters are (n order L1, L2,...,L11)"; return out; } //Ve výpočtu obrácené označení souřadnc, X soustava souřadnc do //které se transformuje, x soustava souřadnc z které se transformuje protected: //přblžné řešení pokud se nejedná o transformac v lneárním tvaru vod ApproxSoluton() { dlt_app at((*x),(*x)); //lneární forma DLT at.solve(); h = at.get_soluton(); } //naplnění Jakobánu a přblžných hodnot transformačních rovnc vod fll_matrxes_dlt() { //J a XT double A,B,C; for(nt = ; < r1; ++) { A = (*x)(+1,1)*h(1) + (*x)(+1,2)*h(2) + (*x)(+1,3)*h(3) + h(4); 25

B = (*x)(+1,1)*h(5) + (*x)(+1,2)*h(6) + (*x)(+1,3)*h(7) + h(8); C = (*x)(+1,1)*h(9) + (*x)(+1,2)*h(1) + (*x)(+1,3)*h(11) + 1; //dervace transformačních rovnc podle jednotlvých hledaných parametrů J(*n+1,1) = (*x)(+1,1)/c; J(*n+1,2)=(*x)(+1,2)/C; J(*n+1,3)=(*x)(+1,3)/C; J(*n+1,4)=1/C ; J(*n+1,9) = -A*(*x)(+1,1)/(C*C); J(*n+1,1)= -A*(*x)(+1,2)/(C*C); J(*n+1,11)= -A*(*x)(+1,3)/(C*C); J(*n+2,5)=(*x)(+1,1)/C; J(*n+2,6)=(*x)(+1,2)/C; J(*n+2,7)=(*x)(+1,3)/C; J(*n+2,8)=1/C; J(*n+2,9)= -B*(*x)(+1,1)/(C*C); J(*n+2,1)= -B*(*x)(+1,2)/(C*C); J(*n+2,11)= -B*(*x)(+1,3)/(C*C); //vyčíslení transformačních rovnc z přblžných hledaných parametrů XT(+1,1) = A/C; XT(+1,2) = B/C; } } vod fll_matrxes() {fll_matrxes_dlt();} publc: //tranformace souřadnc Mat<> transform_ponts(const Mat<>& x) { f(s_solved) { nt num = x.rows(); Mat<> X(num,2); double hh; for(nt = 1; <= num; ++) { hh = x(,1)*h(9) + x(,2)*h(1) + x(,3)*h(11) + 1; X(,1) = ( x(,1)*h(1) + x(,2)*h(2) + x(,3)*h(3) + h(4))/hh; X(,2) = ( x(,1)*h(5) + x(,2)*h(6) + x(,3)*h(7) + h(8))/hh; 26

} }; } else { } } return X; throw at_excepton("dlt::transform","transformaton key s not solved yet. Call method \"solve()\" frst"); 5. Pops programů 5.1. Alltran_console Jedná se o jednoduchý konzolový program, který používá knhovnu Alltran. Program načte soubor "nput.txt". Formát tohoto souboru musí být následující: ř 1(řádek 1): Název transformace např. "dlt_rd". ř 2: Výraz "ponts" nebo "no_ponts". Informace o tom jestl se mají nebo nemají transformovat nedentcké body ze souboru "local_ponts.txt". ř 3: Výraz "constants". V případě, že transformace vyžaduje nějaké vstupní hodnoty, tak je uveden výraz "constants" a následují vstupní hodnoty. ř 4: "global_ponts" nebo "key". Typ následujících dat. Buď seznam bodů, nebo transformační klíč. Pokud je uveden výraz "global_ponts" následuje za seznamem výraz "local_ponts" a druhý seznam bodů. Čísla a počet dentckých bodů musí být v seznamech "global_ponts" a "local_ponts" totožné. dlt_rd Příklad vstupního souboru "nput.txt": no_ponts global_ponts 1 35.3 937.24 2 622.73 918.13 5 92.8 891.15 7 194.5 87.34 8 19.84 645.71 9 182.47 373.23.. local_ponts 1 11.38216 12.28958 9.42464 2 11.52579 12.34118 9.4273 5 11.69496 12.4445 9.42981 7 11.82993 12.45346 9.43188 8 11.82711 12.45664 9.5882 27

9 11.82415 12.4693 9.7648.. Příklad vstupního souboru "local_ponts.txt" 1 11.38216 12.28958 9.42464 2 11.52579 12.34118 9.4273 3 11.69496 12.4445 9.42981 4 11.82993 12.45346 9.43188 5 11.82711 12.45664 9.5882 6 11.82415 12.4693 9.7648 7 11.82137 12.46439 9.9923 8 11.6834 12.41662 9.9622 9 11.5972 12.3577 9.9488 1 11.37434 12.3895 9.948.. Oddělovač údajů může být jeden nebo posloupnost bílých znaků (mezera, tabelátor, znak konce řádku). Program vytvoří soubory "key_report.txt", "output_detals.txt" a pokud je uvedena transformace souřadnc z "local_ponts.txt" tak ještě soubor "transformed_ponts.txt". Pokud není vstupní soubor v pořádku nebo pokud nekonverguje výpočet, potom bude soubor "key_report.txt" obsahovat nformace o chybě (třída a metoda, kde se chyba vyskytla a její pops). Pokud vše proběhne v pořádku, bude výps vypadat například následovně (komentáře jsou psány typem písma Tmes New Roman, stejně jako text příspěvku): //první odstavec je specfkum transformace DLT a obsahuje významné parametry //vypočtené z vyrovnaných hledaných parametrů The standard elements of camera nner and outer orentaton are: f, x, y, p, m, lambda, X, Y, Z, R f = 1268.3699 x = 665.1966441 y = 486.345184 p =.8389333234 m = 1.8638 lambda = -.161691542 X = 11.5722929 Y = 11.6269421 Z = 9.61742776 R: 3 3 -.999216255 -.3569218184 -.1711586391 -.1421795763 -.799212653.9966998297 -.36947141.9961354628.796897561 28

dlt_rd // zde jž začíná standardní výps název transformace, její rovnce, seznam a pořadí //vyrovnaných parametrů a hodnoty těchto parametrů The equaton of dlt_rd s: x = X*L1 + Y*L2 + Z*L3 + L4 / (X*L9 + Y*L1 + Z*L11 + 1)-(xx)*(k1*r*r+k2*r*r*r*r+k3*r*r*r*r*r*r) y = X*L5 + Y*L6 + Z*L7 + L8 / (X*L9 + Y*L1 + Z*L11 + 1)-(yy)*(k1*r*r+k2*r*r*r*r+k3*r*r*r*r*r*r) Computed parameters are (n order L1, L2,..., L11, k1, k2, k3) (Numbers smaller than 1e-5 wll be dsplayed as "") -14.257258-59.38763784-6.267812422 1957.219619.1663438847-49.1817773 12.8922947-419.6712.39968126 -.8356912344 -.668472568 2.567593523e-7-4.522646e-13 3.83724151e-19 //následuje počet dentckých bodů, směrodatná odchylka aposterorní, počet terací, nformace o použtém algortmu, číslo podmíněnost (pro matc plánu nebo normálních rovnc), nformace o maxmální korelac mez parametry, korelační matce a opravy na jednotlvých bodech: Number of dentcal ponts s: 17 Standard devaton a posteror s (sqrt([vv]/number_of_redundant_ponts)):.51547827 Standard devaton a posteror n coordnates s (sqrt([vv]/number_of_redundant_coordnates)):.3536628385 Number of teratons s: 22 Used soluton algorthm: Gauss-Jordan elmnaton The condton number s: 1331462425718 Maxmal correlaton s:.9783794542 between parameters: 13 14 Correlaton matrx: 29

1..142 -.344 -.945.246.342 -.9274.952.366.76 -.788 -.4319.5121 -.5142.142 1. -.5953 -.3896 -.6593.7329 -.4418.4118 -.6939.991 -.6271 -.193 -.376.1228 -.344 -.5953 1..31.1315 -.325.26 -.1335.892 -.5964.939 -.14.2622 -.335 -.945 -.3896.31 1..2277 -.545.9643 -.9462.2437 -.298.112.4964 -.537.589.246 -.6593.1315.2277 1. -.74.2513 -.318.8959 -.7676.159.3944 -.2339.1341.342.7329 -.325 -.545 -.74 1. -.619.4932 -.7783.8162 -.3766 -.598.3646 -.2552 -.9274 -.4418.26.9643.2513 -.619 1. -.9675.265 -.3997.2597.483 -.4956.4616.952.4118 -.1335 -.9462 -.318.4932 -.9675 1. -.2537.3572 -.185 -.4348.4676 -.4475.366 -.6939.892.2437.8959 -.7783.265 -.2537 1. -.8185.1147.479 -.35.1947.76.991 -.5964 -.298 -.7676.8162 -.3997.3572 -.8185 1. -.6551 -.2583.678.484 -.788 -.6271.939.112.159 -.3766.2597 -.185.1147 -.6551 1. -.191.2486 -.338 -.4319 -.193 -.14.4964.3944 -.598.483 -.4348.479 -.2583 -.191 1. -.9428.8558.5121 -.376.2622 -.537 -.2339.3646 -.4956.4676 -.35.678.2486 -.9428 1. -.9784 -.5142.1228 -.335.589.1341 -.2552.4616 -.4475.1947.484 -.338.8558 -.9784 1. Resduals: 1.7829 -.2535 2.3945.18329 3.895.27784 4 -.5868.3731 5 -.6416 -.36229 6.7736 -.41794 7 -.38479.13785 8.2865 -.647 9.71622.37825 1 -.67499 -.9857 13 -.15963.554 14.189 -.13155 15.14865 -.18984 16.5543.2869 18.18596 -.3742 19 -.1128.29151 2 -.25228 -.254 3

Soubor "teratons.txt" obsahuje výps jednotkových aposterorních směrodatných odchylek a hodnot hledaných parametrů pro všechny terace výpočtu a pro všechny transformace, které se počítají (tedy pro výpočty přblžných hodnot). Směrodatné odchylky aposterorní jsou vypočteny dvakrát. Jednou z vektoru oprav z vyrovnání a podruhé kontrolně z rozdílů přetransformovaných souřadnc dentckých bodů. Příklad souboru "teratons.txt" zkrácený na tř první sloupce parametrů a několk terací: dlt_app ter. sg sgcont parameter1 parameter2 parameter3 SVD SVD GJA GJA 1.19562717 4817.18213813-1.79663-55.831739-5.7714786 4.19562717 2.7294444-16.115-58.769884-6.75226 5.19562717 2.72558315-16.1168-58.77233-6.752387 6.19562717 2.72548792-16.1171-58.77251-6.75245 dlt ter. sg sgcont parameter1 parameter2 parameter3 GJA 1 2.7319258 2.7332496-16.56738-58.845111-6.1427145 GJA 2 2.7326641 2.7326673-16.594-58.848815-6.1463144 GJA 5 2.732666 2.732666-16.59149-58.848987-6.1464979 dlt_rd ter. sg sgcont parameter1 parameter2 parameter3 GJA GJA GJA GJA GJA 1.46393798 1.2213159-13.93179-58.949871-6.2195273 2.47352317.6585334-14.11379-59.168893-6.259812 3.4857386.52186792-14.18331-59.279135-6.2618298 4.49284683.48456852-14.21993-59.33426-6.2657 2.515473.473861-14.25726-59.387637-6.2678124 GJA 21.515476.473862-14.25726-59.387638-6.2678124 GJA 22.515478.473863-14.25726-59.387638-6.2678124 5.2. Program Alltran_test Jedná se o jednoduchý konzolový program, který umožňuje snadné posouzení vhodnost použté transformace. Pro posouzení jsou dentcké body rozděleny na polovny (body 31

umístěné na lché pozc v pořadí od začátku seznamu jsou v první polovně). První polovna je použta k výpočtu transformačního klíče a druhá polovna k jeho testu. Pro potřeby testu je druhá polovna dentckých bodů přetransformována s použtím transformačního klíče z první polovny a jsou posouzeny rozdíly vůč daným bodům. Vstupní soubor je shodný jako soubor "nput.txt" v případě programu Alltran_console. Musí obsahovat mnmálně dvojnásobek bodů nutných pro danou transformac. Výstupním souborem je opět soubor "key_report.txt". První část souboru je stejná jako v programu Alltran_console. V druhé část je uveden výsledek testu např.: --------------- TEST RESULTS: Resduals are: 2.15419-2.35827 5 -.7864 -.17999 7 2.23496 -.74283 1-1.77468-1.1275 12.49881 -.97794 15 -.568 -.12414 17 -.9638 -.64269 19 -.33324 -.922 on ponts: 2 147.57 2131.7 5 2495.63 1536.4 7 2459.2 444.91 1 838.62 393.47 12 826. 1617.7 15 1978.65 814.58 17 159.7 815.71 19 159.35 1983.93 Standard devaton s: 1.67195 Maxmal absolute resdual s: 2.35827 Pro směrodatnou odchylku je uvažován počet bodů o jednu menší, než je počet bodů v druhé skupně. 6. Závěr V textu byla představena knhovna tříd a funkcí Alltran, která slouží k výpočtu transformačního klíče a transformac souřadnc pro transformace založené na metodě nejmenších čtverců. Byly stručně popsány mplementované transformace, které byly voleny s ohledem k oborům geodéze a fotogrammetre. Dále byla popsána programová realzace a struktura knhovny. Na příkladu byla předvedena mplementace nové transformace. 32

V poslední kaptole byly popsány dva konzolové programy, které knhovnu Alltran využívají. Lteratura [ 1] GNU General Publc Lcence [onlne]. Verze 2, červen 1991 [ct. 11.11.25] <http://www.gnu.org/lcenses/gpl.html>. [ 2] Rektrorys, K. a spolupracovníc: Přehled užté matematky II. Sedmé vydání: Nakladatelství Prometheus, 1995. [ 3] Štroner, M.: Měření statckých a dynamckých charakterstk strojních a stavebních prvků soubor rozborů, postupů a prostředků. [Dsertační práce]. ČVUT v Praze, Fakulta stavební, 22. [ 4] Horn, B. K. P.: Closed-form soluton of absolute orentaton usng unt quaternons. In: Journal of the Optcal Socety of Amerca, vol, 4, p. 629 642, Aprl 1987. <http://www.stanford.edu/class/cs273/refs/absolute-opt.pdf>. [ 5] Dewtt, B. A.: Intal Approxmatons for the Three-Dmensonal Conformal Coordnate Transformaton. In: Photogrammetrc Engneerng & Remote Sensng, vol. 62, No. 1, p. 79-83, January 1996. <http://www.asprs.org/publcatons/pers/96journal/january/abstracts.html >. [ 6] Pavelka, K.: Fotogrammetre 1. 2. vyd. Praha: ČVUT, 22. 191 s. ISBN 8-1- 2649-3. [ 7] Booksten, F. L.: Prncpal Warps: Thn-Plate Splnes and the Decomposton of Deformatons. In: IEEE Transactons on Pattern Analyss and Machne Intellgence, vol. 11, no. 6., p. 567 585, 1989. < http://www-cse.ucsd.edu/classes/sp3/cse252/booksten.pdf> [ 8] Čepek, A.: MatVec C++ matrx/vector template lbrary [onlne]. Verze.9.25, 4.9.26 [ct. 17.12.26]. <http://gama.fsv.cvut.cz/wk/ndex.php/matvec>. [ 9] KRAUS, K.: Photogrammetry Volume 2 - Advanced Methods and Applcatons. Duemmler/Bonn, Germany, 4th edton, 1993, ISBN 3-427-78694-3. [ 1] KOSKA, B. ŘEZNÍČEK, H.: Solvng Approxmate Values of Outer Orentaton Parameters for Projectve Transformaton. In: Proceedngs of Workshop 28. Praha: ČVUT, 28, ISBN 978-8-1-416-4. 33