From: David Cohen on
Hello,
I am a newbie with Matlab.

I want to calculate a function which maps points between two images, given some matching points.
This mean that I know several points (xi,yi) from image 1, i=1,2..n which match some points (si,ti) from image 2 i=1,2,..,n ((xi,yi) matches (si,yi)).
Now I want to know for any point from the 1st image (x,y) what is its location on the 2nd image.

I want to use a Thin plate spline based algorithm.
I think I should use stmak, but it is not clear for me how to use it.
I know that my input is 2 sets of 2D points.

Can anyone help with a sample code?

Thanks
From: Matt J on
"David Cohen" <dudu.cohen(a)gmail.com> wrote in message <hi7vel$o3o$1(a)fred.mathworks.com>...
> Hello,
> I am a newbie with Matlab.
>
> I want to calculate a function which maps points between two images, given some matching points.
> This mean that I know several points (xi,yi) from image 1, i=1,2..n which match some points (si,ti) from image 2 i=1,2,..,n ((xi,yi) matches (si,yi)).
> Now I want to know for any point from the 1st image (x,y) what is its location on the 2nd image.
>
> I want to use a Thin plate spline based algorithm.
> I think I should use stmak, but it is not clear for me how to use it.
> I know that my input is 2 sets of 2D points.
>

I should begin by saying that I haven't worked with thin plate splines, nor am I familiar with stmak. However according to this link

http://en.wikipedia.org/wiki/Thin_plate_spline#Radial_basis_function

if you know your corresponding control points (xi,yi) and (si,ti), you then obtain a matrix equation

A*c=f

for the coefficients ci of the splines. To solve these linear equations, you would just do c=A\f