Előismeret
A lépéseket és a matematikai hátteret lásd a jegyzetben.
- Készítsünk képeket egy tetszőleges kamerával egy sakktáblamintáról!
Ügyeljünk arra, hogy a minta (a fehér szélét is beleértve) teljesen látszódjon! Ne csak szemből, hanem oldalsó, meredek beesési szögekből is fényképezzük le a mintát, hogy a lencse torzítása minél inkább megmutatkozzon. Ügyeljünk arra, hogy a minta sík felületen legyen, ennek érdekében egy teljesképernyős képként is kitehetjük a monitorra.
- Mérjük le a valódi méretű négyzetek oldalhosszát!
- Adjuk meg a programnak, hogy hány darab sort és oszlopot kell találnia mintán, valamint adjuk meg ezeknek a négyzeteknek a méretét (amit a 2. pontban lemértünk). Ezzel egy ideális rácsot állítunk elő.
- Minden egyes képen határozzuk meg a sakktábla minta sarokpontjait és párosítsuk ezen "torz" rács pontjait az ideális rácspontokhoz.
- Határozzuk meg a általános kamera mátrixot a Gold Standard algoritmussal.
- Normalizáljuk az és pontok koordinátáit.
- A normalizált pontkoordinátákból konstruált , egyenletrendszer megoldását az mátrix legkisebb szinguláris értékéhez tartozó egységnyi normájú szinguláris vektora adja, amelyet az mátrix SVD felbontásával kapunk meg.
- Az előző lépésben kapott megoldást kezdeti értéknek használva minimalizáljuk az
képlettel megadott geometriai hibát a Levenberg-Marquardt algoritmussal.
- Az előző lépésben kapott megoldásból a keresett kameramátrixot denormalizálással kapjuk.