As part of my graduate level computer vision course, I developed an image morphing Matlab script. After manually specifying paired control points on the image, an algorithm is executed on a variable number of frames, creating the intermediate pictures. Two morphing methods were implemented: Delaunay Triangulation and the Thin Plate Splines method.
In Delaunay Triangulation, the image is broken into triangular sections based on the positions of the intermediate control points. Using Barycentric coordinates, the new image pixels were calculated as a weighted average of the two corresponding image points. When using Thin Plate Splines, a number of control values were calculated from the source images, then mapped to the output image.
Aspects: Computer Vision, Matlab