File Exchange

image thumbnail

Lucas Kanade affine template tracking

version (7.16 MB) by Dirk-Jan Kroon
Lucas Kanade affine template tracking , also robust inverse in c-code.


Updated 01 Oct 2009

View License

This is an affine Lucas Kanade template tracker, which performs template tracking between movie frames. For example, to follow cars, moving coronary arteries or measure camera rotation.

The Matlab code is written to show the same steps as in the Literature, not optimized for speed. But also an inverse Lucas Kanada algorithm in c-code for quick template tracking is included, which also contains pixel weighting for more robustness.

S. Baker et Al. "Lucas-Kanade 20 Years On: A Unifying Framework"
D. Schreiber, "Robust template tracking with drift correction"

Try the TTdemo.m, see screenshot!

You can easily adapted the template tracking TTdemo to your own application, for instance:

- Update the template with image data from the new ROI found in the next movie frame.
- Use the ROIs in the next movie frames, also as templates.
- Calculate the speed from difference in affine parameters between movie frames. Speed can be used to detect if tracking fails, or to smooth the tracking, or to predict the next template position.

Bugs, success and other comments are welcome!

Cite As

Dirk-Jan Kroon (2020). Lucas Kanade affine template tracking (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (8)

hello, do anyone know the name of interpolation method that the author used ?

Gal Haspel

Did anyone solve the question about generating a weight matrix for another ROI?

Hello, I would also like to know how to generate a weight template. I suspect it is a Gaussian filter of the selected region of interest. I would appreciate your input!

TC Kim

Hello. I am in the same situdation with Sonia Chikh. Could U tell us that how?

How is the images Weight.png calculated for a different template other than car.

Sonia Chikh

hello, I just get started with matlab. I used to write all in C++. but Ir really need this KLT tracker for my work. but I can't manipulate the .mat file :s
I wanted to change the movie used but couldn't can you, please, tell me how... thanks a lot.

Nice demo.


Linux Ubuntu Tested

Reliability matrix added, fixed missing code line in LucasKanadeAffine.m

MATLAB Release Compatibility
Created with R2009a
Compatible with any release
Platform Compatibility
Windows macOS Linux