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

iat_LucasKanadeIC implements the inverse-compositional 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. It is more efficient than the forwards-additive version (function: iat_LucasKanade) at the cost of lower accuracy.

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 (default: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