Vladislav Němec,
433
Pro výpočet této matice použijeme dvojice bodů ze zadání. Pro každou z dvojic bodů( [xi, ui] = [[x, y], [u, v]] ) musí platit:
Z této rovnice získame pro každou dvojici bodů tyto dvě rovnice:
Pro
jednodušší řešení převedeme matic H o rozměrech 3x3 na matici H9 o rozměrech
1x9, tedy H9 = (h11 h12 ... h33). Výsledkem
budou tyto rovnice:
které
jsou ve tvaru A * H9 = 0. Abychom dostali jedno řešení
potřebujeme matici A o hodnosti 8
– musíme tedy 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.
Slučovací
operaci provádíme na námi vytvořené „virtuální“ ploše. Velikost této plochy
volíme s ohledem na velikost vstupních obrázků. Protože korespondující
body jsou v obrázku číslo 1 umístěny v jeho levé polovině, umístíme ho
do virtuální plochy vertikálně vycentrován u pravého okraje.
Pomocí
matice H nejprve převedeme krajní body druhého obrázku. Tyto body poté
ohraničíme opsaným obdélníkem (respektive nejm,enším možným obdélníkem,
který ještě obsahuje všechny čtyři body) – tato operace se provádí hlavně
kvůli zrychlení výpočtu, protože body ležící mimo tento obdélník nemůžou
patřit do druhého obrázku.
Nyní
začneme vkládat druhý obrázek do plochy – body obsažené ve vzniklém obdélníku
postupně (pomocí inv(H)) převádíme na body v obrázku číslo 2. Barvou získaného
bodu obarvíme bod virtuální plochy. Tímto způsobem dokreslíme celý obrázek.
(Výběr bodu je složitější – protože body krajní body ohraničujeme obdélníkem,
některé body neleží v obrázku číslo 2, musíme vytvořit pomocné pole, které
pomocí hodnoty 0 nebo 1 indikuje, zda zadaný bod skutečně leží v obrázku
číslo 2.).
Postup
algoritmu je dostatečně popsán v komentářích obsažených ve zdrojovém
souboru z programu Matlab.
Na závěr bychom mohli navrhnout několik malých úpráv. Například pro
zlepšení kvality přidávaného obrazu můžeme při výběru barvy bodu použít
lineární interpolaci barev dvou sousedních bodů. Tato změna se projeví
především při zvětšování vkládaného obrazu. Dalším rozšířením by mohlo
být měnění jasu obrazů tak, aby byl přechod co nejméně jasově odlišný.