PVI – Slučování dvou obrazů

Zadání: Sloučit dvě fotografie pořízené pootočením jedné kamery.

Řešení: Jsou potřeba dvojice vzájemně si odpovídajících bodů, které jsme již dostali zadané. Jinak je lze zadat například ručně v programu corrgui, nebo spočítat pomocí podobnosti okolí.

Vytvoříme si virtuální plochu, o dostatečné velikosti, a vložíme do ni jeden z obrázků. Umístění obrázku zvolíme tak, aby se na plochu vesel celý výsledný obrázek.

Druhý obrázek umístíme tak, ze si spocítáme korelační matici H, která každému bodu na prvním obrázku (souřadnice [x,y]) přiřadí bod na druhém obrázku (souřadnice [u,v]).

Inverzní matice H-1 k matici H převádí souřadnice bodů opačným směrem. Pro vypočtení matice použijeme dvojice korespondujících si bodů:

Postup: Pro každou z dvojic bodů ( [xi, ui] = [[x, y], [u, v]] ) musí platit:

ai * UiT = H * XiT, kde

ai je konstanta určená rovnici ai = h3 * XiT (vyplývá z rovnice),

Ui je matice (ui vi 1),

Xi je matice (xi yi 1).

Z této rovnice získáme pro každou dvojici bodů tyto dvě rovnice:

(h3 * Xi T) * ui – h1 * Xi T = 0

(h3 * Xi T) * vi – h2 * Xi T = 0

Pro jednodušší vyřešení převedeme matic H o rozměrech 3x3 na matici H9 o rozměrech 1x9 to jest H9 = (h11 h12 ... h33). Výsledkem nám budou tyto rovnice:

ui * (h31 * xi + h32 * yi) – h11 * xi – h12 * yi – h13 = 0

ui * (h31 * xi + h32 * yi) – h11 * xi – h12 * yi – h13 = 0,

jenž jsou ve tvaru A * H9 = 0. Abychom dostali jedno řešení potřebujeme matici A o hodnosti 8 to jest musíme mít zadány 4 dvojice bodů v každé rovině. Výslednou matici H9 převedeme zpět na tvar matice H o rozměrech 3x3.

Když máme spočtenu korelační matici H, můžeme si spočítat matici H-1, kterou použijeme pro vypočtení, kam do virtuální plochy se nám zobrazí krajní body obrázku. Jim pak uděláme opsaný obdélník. Poté projíždíme body v tomto obdélníku, transformujeme jejich souřadnice pomocí matice H, a pokud získané body patří do obrázku, zapíšeme odstín barvy z tohoto obrázku do virtuální plochy.

Závěr: Tento způsob jde ještě vylepšit o lineární interpolaci barev – neboť transformace se většinou netrefí do jednoho bodu, ale někam mezi body, tudíž je lepší zprůměrovat jejich odstíny barev. Také je vhodné přizpůsobit oba obrazy aby měli stejný jas a kontrast.

 

 

 

 

 

Příloha:

 

  + =