Wiki

Clone wiki

CIS 581 HW2 / Home

Image morphing

This project is about morphing one image to another (in various amounts) by using two different methods - Delaunay triangulation and Thin Plate Splines. In both these methods, the basic workflow remains the same.

  • Click 'control points' which are visually salient corresponding points in the two images

  • Determine the intermediate points by weighted sum of the corresponding control points

  • Use either of the two techniques to morph control points in both original images to the intermediate points. This will make intermediate images out of both original images

  • Dissolve the two images by a certain fraction

I used the following images of a monkey and a man to show a man evolving backwards into a monkey:

man

monkey

Delaunay Triangulation

After Delaunays theorem is used to triangulate the intermediate points, pixels in the intermediate image are mapped to pixels in the source images using barycentric co-ordinates. This is because baruycentric co-ordinates represent a point relative to the vertices of the triangle it lies in; as long as the triangulation is same in two images a one-to-one mapping can be found.

man-triangulated

monkey-triangulated

The morphing video using this method is available at https://www.youtube.com/watch?v=g8I4qKlXrNs

Thin Plate Splines

A thin plate spline (one for X and one for Y co-ordinates) is used to establish the quadratic mapping relationship that is smoother that linear triangulation.

The morphing video using this method is available at https://www.youtube.com/watch?v=YdbmOgig1gE

The following images show the difference between linear triangulation and Thin Plate Splines when morphing is done on geometrically regular images.

trig (above) Morphing using triangulation

tps (above) Morphing using Thin Plate Splines

Updated