[WARP] = iat_LucasKanade(IMAGE, TEMPLATE, PAR)

iat_LucasKanade implements the forwards-additive version of Lucas-Kanade image alignment algorithm [1]. It computes the geometric transformation that should be applied to IMAGE in order to get an image similar to TEMPLATE. The optimum transformation is the one that minimizes the squared image difference between TEMPLATE and warped IMAGE.

Input arguments:

IMAGE The image that must be warped in order to be similar to TEMPLATE
TEMPLATE The target image
PAR A struct of parameters with fields:
PAR.iterations: the number of algorithm’s iteration (defualt:50)

PAR.levels: the number of levels for multi-resolution execution (default: 1)

PAR.transform: the type of geometric transformation. Valid strings:
‘translation’, ‘euclidean’, ‘affine’, ‘homography’ (default: ‘affine’)

PAR.initwarp: the initial transformation. Default warps:
translation: zeros(2,1)
euclidean: [eye(2) zeros(2,1)]
affine: [eye(2) zeros(2,1)]
homography: eye(3)

Output arguments:

WARP The final estimated transformation


[1] S. Baker, I. Matthews, “Lucas-Kanade 20 years on: A unifying framework Part I”, IJCV, vol.56, no. 3, 2004


Back to Index