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

3) Naivni algoritam, DLT algoritam, modifikovani DLT algoritam i poredjenje za 4 korespodencije + Graficki prikaz

 
Slika Nikola Dimic
3) Naivni algoritam, DLT algoritam, modifikovani DLT algoritam i poredjenje za 4 korespodencije + Graficki prikaz
napisao/la Nikola Dimic - ponedeljak, 29. oktobar 2018, 01:45
 

Student: Nikola Dimić 165/15

Programski jezik: Python2.7

Biblioteke: numpy, copy, matplotlib

Urađeno:

  1. Naivni algoritam, DLT , normalizovani DLT algoritam, kao i skalirani normalizovani DLT algoritam
  2. Algoritmi za 4 i 6 tačaka
  3. Poređenje rezultata algoritama
  4. Grafički prikaz tačaka
  5. Poređenje matrica pri dodavanju šuma.

Tačke korišćene za testiranje algoritama

A = (-7.5, 3), B = (-7.9, 5), C = (-9, 5), D = (-12, 6), E = (-8, -2), F = (-6,2)
A' = (7, 1), B' = (8, 1.5), C' = (6, 2.5), D' = (0, -5), E' = (5, -3.5), F' = (8.4, -2.7)

 

Zapažanja

Za naivni algoritam korišćene su samo tačke A,B,C i D. Testiranjem algoritama nad tim tačkama dobijaju se matrice koje su za DLT i modifikovani DLT (skaliran) praktično iste na 8-9 decimalu, dok je matrica naivnog algoritma skoro ista kao i ove dve tj poklapa se na 2/3 decimale. I za druge testirane tačke sva tri algoritma a posebno druga dva daju jako slične rezultate.

Korišćenjem algoritma na 6 tačaka (naivni se ne može koristiti) , dolazi do znatno većih odstupanja izmedju DLT i normalizovanog (modifikovanog) DLT algoritma. 

Algoritmi rade isto kada se neke od tačaka permutuju.

Dodavanjem šuma na tačke A i B dolazi do manjih odstupanja matrica, u odnosu na pređašnje stanje ( neki elementi su tačni na 5 decimala dok su neki dosta različiti, često drugačijeg znaka itd.)

Prilog

  1. Prikaz tačaka i odgovarajućeg poligona za 4 tačke (naivni, DLT, DLT normalizovani )
  2. Prikaz terminala sa odgovarajućim matricama  (4 tačke)
  3. Prikaz  ačaka i odgovarajućeg poligona za 6 tačaka (naivni, DLT, DLT normalizovani )
  4. Prikaz terminala sa odgovarajućim matricama (6 tačaka)
  5. Prikaz dela koda 
  6. Prikaz dela koda