Skládání obrazů
1. laboratorní práce z předmětu PVI

Martin Kafka, Michal Poneš
stud. sk. 24

Zadání

Složte dva překrývající se obrazy sejmuté kamerou z jednoho místa, na základě zadaných korespondujících bodů.

Postup

Nejprve jsem pomocí programu CorrGui zadal korespondující body. Tato fáze je nejvíce nepřesná. Pro výpočet stačí zadat 4 body. Při zadání více bodů bude složení přesnější. Ze zadaných bodů jsem poté vypočítal homografii pro transformaci bodů z orázku A do obrázku B. Pak jsem překopíroval první obrázek do výsledného obrázku. Poslední krok je přetransformování druhého obrázku do výsledného.

Výpočet homografie

Každá dvojice odpovídajících si bodů definuje dva řádky matice homogenní soustavy lineárních rovnic. Označíme-li souřadnice bodu v obrázku A a podobně v obrázku B získáme homografii pro transformaci bodu z obrázku A do obrázku B řešením homogenní soustavy lineárních rovnic s maticí s řádky tvaru:


Transformace bodu

Po získání homografie je možné transformovat souřadnice obrázku A do obrázku B pomocí a zpětně z obrázku B do obrázku A pomocí , kde a jsou homogenní souřadnice.

Interpolace

Při výpočtu intenzity jsem použil interpolaci nejbližší soused, která vrací intenzitu nejbližšího bodu:


Také je možné použít bilineární interpolace, která vrací intenzitu:



Tato technika ale velmi zpomaluje výpočet bez viditelnějšího zlepšení.

Výsledky

Vstupní obrázky A a B
   

Výsledný obrázek složený interpolací nejbližšího souseda:

Výsledný obrázek upravený pomocí programu GIMP:

Výsledný obrázek složený metodou bilineární interpolace:

A opět po úpravě v GIMPu:

Závěr

Obraz je složen poměrně dobře. Jediný problém je v špatně nafocených obrázcích. Zřejmě nekvalitní fotoaparát, či nepříznivé podmínky lze ale opravit dodatečnými úpravami. Skript pro výpočet je uveden zde.