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

Naivni algoritam, DLT algoritam, modifikovani DLT + graficki prikaz

 
Слика Dijana Zulfikaric
Naivni algoritam, DLT algoritam, modifikovani DLT + graficki prikaz
написао/ла Dijana Zulfikaric - недеља, 28. октобар 2018, 19:44
 

Student: Dijana Zulfikaric, 38/2015
Programski jezik: Python
Koriscene biblioteke: numpy, matplotlib

Tacke:
- prilikom koriscenja 4 tacke:
A(-8, 4)
B(-6, 5)
C(-3, 1)
D(-5, 0)

A'(1, 7)
B'(2, 3)
C'(4, 2)
D'(7, 3)
- prilikom koricenja 5 tacaka dodata je tacka:
E(-7, 0)
E'(3, 5)

Uradjeno:
1) Za cetiri tacke
- Naivni algoritam
- DLT algoritam
- Modifikovani DLT algoritam
- Graficki prikaz tacaka kao i projektovanje nove tacke izabrane klikom
Slika 1: matrice projektivnog preslikavanja sva 3 algoritma, uz skaliranje izlaznih matrica DLT i modifikovanog DLT algoritma u odnosu na
izlaznu matricu naivnog algoritma radi lakseg poredjenja rezultata. Vidimo da su matrice nakon skaliranja identicne.
Slika 2: Nakon dodavanja suma na tacke B(-6.2, 5), C'(4, 2.6) mozemo primetiti da se matrice razlikuju.
Slika 3: Nakon pokretanja programa iscrtavaju se originalne tacke, njihova slika i biraju se klikom tacke koje se dalje projektuju koriscenjem
matrice projektivnog preslikavanja dobijene naivnim algoritmom.

2) Za vise od cetiri tacke
- DLT algoritam
- Modifikovani DLT algoritam
- Graficki prikaz tacaka kao i projektovanje nove tacke izabrane klikom
Slika 4: matrice projektivnog preslikavanja 2 algoritma, uz skaliranje izlazne matrice modifikovanog DLT algoritma u odnosu na
izlaznu matricu naivnog algoritma radi lakseg poredjenja rezultata. Vidimo da dolazi do malog odstupanja u matricama nakon skaliranja.
Slika 5: Nakon pokretanja programa iscrtavaju se originalne tacke, njihova slika i biraju se klikom tacke koje se dalje projektuju koriscenjem
matrice projektivnog preslikavanja dobijene DLT algoritmom.

Slika 6: Delovi koda

- Kod DLT i modifikovanog DLT algoritma permutacija tacaka ne uticu na rezultat algoritama.