I am looking for a simple rubber sheeting algorithm to rectify images. The purpose is to develop a simple tool to automatically rectify a large number of images using four corner coordinates known in source and target coordinate system.
The rubber sheeting says nothing to me, but Google knew that it's just an another linear transformation like affine or projective transformation (see for example http://www.corrmap.com/features/rubber-sheeting_transformation.php ). So just take the points of the corners and solve the linear system describing your transformation. When you have the transformation solved warp image to the new coordinates (ie use the transformation to get the new coordinates and interpolate using the input coordinates from 1-to-imagesize ). No black magic here...
Thanks, Sami. I have come across that link (and many others) before, but I would like to avoid having to write matrix algebra code for a linear optimisation problem with 8 unknown variables - that's why I am hoping that someone can perhaps point me to a simpler solution.
Umm... Okay... You cannot live without matrix algebra. Here the problem is already as much as solved. You have been given the problem in matrix form on the page above. Ie you have it in form A*x=b, where A and b contains the coordinates from point correspondences and x contains the parameters a,b,...
So you get the parameters by getting inverse of A and multiplying that with b (ie in matlab x=A\b; or x=inv(A)*b;
I really don't see how one could do this in more simple manner. If you use c/c++ or something similar then you might want to find matrix package that does matrix inversion or pseudo-inversion for you...