Ahmed Fasih
Ahmed Fasih

Reputation: 6927

Given a pair of images, how to automatically create an animation sequence morphing one image into the other?

Is there a programmatic way to convert two images into an animation sequence (e.g., an animated GIF) like the following example?

From memrise.com, showing an animated GIF between two images

This image sequence, taken from a http://memrise.com course, doesn't seem to have manually-edited frames, but seems automatically transformed using some kind shape morphing algorithm. Is there a common term used to describe such an animation or algorithm? Is there a feature in ImageMagick or Photoshop/Gimp that generates such animations, given a pair of images?

Ideally the technique could be scriptable so I could create animations for several pairs of start-end images.

Edit: I have just been told about Gimp's tool under Filters->Animation->Blend, which appears to do the same thing as jQuery morph: each frame i is start + (finish - start)/N*i. In other words, you're transitioning each pixel independently from the start value to the finish value, without any shape morphing. The example gives is more complicated, as it modifies the contours of both images to achieve its compelling effect.

Other examples:

Upvotes: 4

Views: 14799

Answers (4)

kallaballa
kallaballa

Reputation: 377

I have written a tool that doesn't require setting manual keypoints and is not restricted to a domain (like faces). Anyway, the images have to be similar (e.g. two faces or two cars from the same perspective).

https://github.com/kallaballa/Poppy

There is also a web-version created with emscripten.

flame to glyph morphing

I generated the above animation using following command line:

poppy flame.png glyph.png flame.png

Upvotes: 5

Riot
Riot

Reputation: 16716

Although this is an old question, since ImageMagick is mentioned, for anyone who comes here from google it may be worth looking at this imagemagick plugin called shapemorph.

Upvotes: 3

G B Shingler
G B Shingler

Reputation: 11

Given pairs of vector files (.wmf extension) it is possible to use linear interpolation of shapenodes in Visual Basic for Applications to create frames for GIF animations , though this would take along time to explain. For some examples see

http://www.giless.co.uk/animatorMorphGIFs.htm (it is like a slideshow)

I have made some improvements since then, as well!

Upvotes: 1

jsbueno
jsbueno

Reputation: 110456

GIMP can't do that directly, but over the years a series of (now poorly maintaind) plug-ins to do that where released by third parties. The keyword for searching for this is "morph" - you should find a bunch of stand alone programs to do that as well, from "gratis" to full fledged Free Software, such as xmorph

Upvotes: 1

Related Questions