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:
- $ 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.
- $ 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):
- 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)
- 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:
Primer sa unošenjem tačaka pomoću miša: