Prvi domaći - projektivna preslikavanja, do 29.10. u 12:00

Naivni, DLT, modifikovani DLT + graficki prikaz

 
Foto de Jana Jovicic
Naivni, DLT, modifikovani DLT + graficki prikaz
por Jana Jovicic - Domingo, 28 Outubro 2018, 21:56
 

Student: Jana Jovičić, 215/2015
Programski jezik: python
Biblioteke: numpy i matplotlib

Urađeno:
1. Naivni, DLT i normalizovani DLT algoritam
2. Algoritmi za 4 i za 6 tačaka
3. Zapažanja i poređenje algoritama
4. Grafički unos originalnih tačaka i tačaka slika klikom miša
5. Grafički prikaz poligona koje određuju te tačke
6. Poređenje matrica kada se doda šum na nekim tačkama

Kada se program pokrene potrebno je zadati broj tačaka (n=4 ili n=6), a zatim, klikom na odgovarajuće pozicije u koordinatnom sistemu koji je prikazan, odabrati n originalnih tačaka i n slika. Zatim se iscrtavaju poligoni koje te tačke određuju i računaju se matrice projektivnog preslikavanja pomoću različitih algoritama (naivni, DLT i normalizovani DLT za 4 tačke; DLT i normalizovani DLT za 6 tačaka).

Tačke:
A(-9 5), B(-9 0), C(-5 -1), D(-5 7), E(-7 9), F(-8 6)
Ap(-2 -2), Bp(-1 -6), Cp(3 -4), Dp(1 1), Ep(-1 3), Fp(-1 0)

Za naivni, DLT i normalizovani DLT sa 4 tačke korišćene su tačke: A, B, C, D i Ap, Bp, Cp, Dp.
Za naivni, DLT i normalizovani DLT sa 6 tačaka korišćene su tačke: A, B, C, D, E, F i Ap, Bp, Cp, Dp, Ep, Fp.

Zapažanja: Kada se matrica normalizovanog DLT algoritma skalira na matricu običnog DLT algoritma dobije se ista matrica kada se koriste 4 tačke. Ali to nije slučaj kada se koristi 6 tačaka. Tada se dobije približno ista matrica (zbog osobina normalizovanog DLT algoritma).
Kada se doda šum na tačke A(-9, 5.5) i B(-9, 1) vide se male razlike u matricama DLT i normalizovanog DLT algoritma, a nešto veće u matrici dobijenoj naivnim algoritmom.