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

3) Naivni, DLT i normalizovani DLT sa grafičkim prikazom

 
Slika Jovan Lezaja
3) Naivni, DLT i normalizovani DLT sa grafičkim prikazom
napisao/la Jovan Lezaja - nedelja, 28. oktobar 2018, 19:43
 

Student: Jovan Ležaja, 236/2015

Programski jezik: Python3.5.2

Rešenje:

  • Tačke mogu da se unesu ručno ili klikom miša po platnu.
  • Program može da se pozove iz komandne linije na 2 načina:
    1.  $ python3 domaci.py - ovako pozvan program izračunava matrice projektivnog preslikavanja za 4, 5 i 6 tačaka koristeci sva 3 algoritma. U slučaju kada se izračunavaju matrice za 5 i 6 tačaka se ne poziva naivni algoritam.
    2.  $ python3 domaci.py i [broj] - ovako pozvan program izračunava matrice projektivnog preslikavanja za broj tačaka (broj >= 4) koristeci sva 3 algoritma. Pritiskom na taster "X" se pravi šum na nekim tačkama i potom ponovo izračunavaju matrice.
  • Tačke koje se koriste prilikom pozivanja programa na način br. 1 (bez kliktanja):
    1. A:(-15, -2, 1), B:(-7, 1, 1), C:(-12, 2.5, 1), D:(-8,0,1), E:(-6,3,1), F:(-10, 6, 1)
    2. A':(4,-0.5,1), B:(8,1.5,1), C:(20,10,1), D:(12,10,1), E:(-14,1,1), F:(0, 5, 1)

Zapažanja:

  • Kada se zadaju samo 4 tačke, sva 3 algoritma daju istu matricu projektivnog preslikavanja.
  • Kada se zada više od 4+ tačaka, DLT i Normalizovani DLT daju slična rešenja. Zavisno od šuma, razlika može da varira.

Slike:

Rešenje za zadate tačke:

Rešenje za zadate tačke

Primer sa unošenjem tačaka pomoću miša:

Slika Jovan Lezaja
Odgovor: 3) Naivni, DLT i normalizovani DLT sa grafičkim prikazom
napisao/la Jovan Lezaja - nedelja, 28. oktobar 2018, 19:49
 

Naknadno šaljem delove koda: