Image Morphing

Abe Wong (

This is an implementation of the Beier-Neely (1992) morphing algorithm.

Feature-mapped sources

Features were marked by hand...


The long hair was particularly difficult to convincingly morph using linear interpolation of feature segments. Most of the hair still appears in a large cross-dissolved section. Other morphing issues could be fixed with the addition of more feature markers.


I implemented a function which takes a reference image and an image with some expression (both with marked features), and applies that expression to an arbitary image. The expression distance metric takes into account feature position and pixel values, although it is fairly simplistic.

Real Face

It fails fairly badly with a face from the Aleix Face Database, due to the below pixel difference. Results are not shown...


Pixel difference of warped reference expression and base reference:

Demo Images

It works much better on this really simple demo...


Source and Morph: