File Exchange

image thumbnail

Image Alignment Demo with several goodies: Lie algebra, auto differentiation...

version 1.1.0.0 (20.8 KB) by Oliver Woodford
Demonstration of gradient-based image alignment, including some nice tricks and handy software

1 Download

Updated 16 Jun 2018

View Version History

View License

This method neatly demonstrates gradient-based direct image alignment: it fits a a target image to a reference image using a homography.
However, it also includes some great software for use in other projects:
Autodiff - fairly comprehensive auto differentiation class, to dramatically simplify and speed up development of gradient-based optimization.
Lie - Lie algebra class supporting various geometric groups, which also supports auto differentiation.
Ojw_interp2 - Fast mex-based image and gradient sampling, which also supports auto differentiation. Mex this function first by calling "mex ojw_interp2.cpp" in the directory you installed the files from this submission in.

Cite As

Oliver Woodford (2020). Image Alignment Demo with several goodies: Lie algebra, auto differentiation... (https://www.mathworks.com/matlabcentral/fileexchange/62547-image-alignment-demo-with-several-goodies-lie-algebra-auto-differentiation), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (3)

Oliver Woodford

Federico: Yes, I believe you should use a more recent compiler. At least VS2015.

Federico Cova

HI, thanks for the code, I'm trying to compile ojw_interp2.cpp in Matlab 2016b + vs2013 and I keep getting the following errors:
interp2_methods.hpp(384) : error C2144: syntax error : 'int' should be preceded by ';'
interp2_methods.hpp(397) : see reference to class template instantiation 'lanczos<N>' being compiled
interp2_methods.hpp(384) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
interp2_methods.hpp(406) : error C2144: syntax error : 'int' should be preceded by ';'
interp2_methods.hpp(501) : see reference to class template instantiation 'IM_NTAP<T,U,V,N,filter>' being compiled
interp2_methods.hpp(406) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
looking on line it seems that it may be a missing } or ; somewhere in the code but I'm nor being able to find it. Do you think it may be because of the compiler?

H Zhang

the ojw_interp2.cpp cannot be compiled with Matlab 2016a +vs2015

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

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!