Za vším je jedna myšlenka: fotka je zploštělý obraz roviny. Když víme, jak se ta rovina do fotky promítla, umíme z fotky číst skutečné rozměry.
Fasáda je plochá. Když ji vyfotíš, promítne se do obrázku podle jednoduchého pravidla — takzvané homografie. Je to jedna matice o devíti číslech. Když ji známe, umíme z libovolného bodu na fotce spočítat, kde leží na skutečné stěně, a tedy i vzdálenost mezi dvěma body.
Celá práce je v tom tu matici určit co nejpřesněji. Zaměřovák na to používá tři nezávislé zdroje informace.
Na fasádu přiložíš desku s černobílým markerem, jehož velikost známe na desetinu milimetru. Program ho na fotce najde a doladí jeho rohy s přesností na zlomky pixelu. Odtud víme, kolik milimetrů je jeden pixel.
Proč nestačí jen deska: marker má na fotce třeba 80 pixelů, ale fasáda 3 000. Nepřesnost v jeho rozích se při přepočtu na celou budovu znásobí. V našich testech dával samotný marker chybu kolem 6 % — u devítimetrové stěny to je půl metru.
Na každé fasádě je spousta rovnoběžek: římsy, sokl, ostění oken, rohy domu. Na fotce se sbíhají do dvou bodů — úběžníků. Z nich se dá spočítat, jak je rovina fasády vůči objektivu natočená, a to mnohem přesněji než z malého markeru, protože se opírá o čáry přes celý snímek.
Zaměřovák tyhle čáry sám najde a robustně (metodou RANSAC, která ignoruje čáry mimo rovinu — stromy, plot, sousední dům) z nich určí úběžnici roviny. Marker pak dodá jen měřítko. Chyba klesne přibližně desetinásobně.
Okno je obdélník. Dvě okna nad sebou mají stejnou šířku. Ostění má pravý úhel. Tyhle samozřejmosti jsou pro výpočet cenná data. Každou podmínku, kterou v editoru označíš, přidáváme do společného vyrovnání — a to zpřesní všechny rozměry na fotce, ne jen tu jednu konstrukci.
Řeší se to nelineárním vyrovnáním (Levenberg–Marquardt) přes osm parametrů homografie. Každé pozorování má svou nejistotu: roh markeru zhruba půl pixelu, kliknutí myší dva pixely, rozměr změřený metrem pár milimetrů. Díky tomu se jednotlivé zdroje informace poměřují spravedlivě a ručně změřený rozměr přirozeně přebije odhad z fotky.
Nevadí. Naklikáš čtyři rohy něčeho, o čem rozměr víš — okna, dveří, vrat — zadáš jeho velikost a měří se dál. Je to o něco méně přesné, protože takový „náhradní marker" není kalibrovaný, ale pro doměření chybějící kóty to bohatě stačí.
Štít, vikýř, ustupující patro nebo garáž stojí v jiné rovině než hlavní stěna. Kdybys je měřil v rovině fasády, výsledek by byl špatně — proto si každou takovou plochu definuješ zvlášť a měříš v ní.
Kde metoda končí: měří se v rovině. Hloubky — tloušťku zdi, jak hluboko je okno zapuštěné, sklon střechy — z jedné fotky spolehlivě nezískáš. Na to si vezmi metr.