Morphing Editor

I created the Morphing Editor out of a desire to develop an engaging and visually appealing application

The selected effect is a Morphing transition I saw many years ago in a DOS demo by the Spanish group Iguana

Description

With this application, you will be able to:

  • Choose a list of photos featuring the faces you want to morph.
  • Automatically insert a triangulation with 68 recognized points for each face.
  • Adjust the triangulation to fit each face accurately.
  • Create a morphing video that transitions smoothly from one face to another

Main features:

  • Multi-language
  • Configurable multi-resolution zoom
  • Dark mode option
  • New version notification
  • User manual

Code description

High-level algorithm:

  • Beginning with a triangulation that remains consistent across all images
  • However, ensure that the vertices of the triangles are adjusted to fit the unique features of each face
  • The morphing effect is created by transitioning from the triangulation of one image to that of the next while simultaneously fading the images of each triangle

Delaunay triangulation:

  • It utilizes a professional library for incremental Delaunay triangulation, which I translated into Java from a C++ implementation I found online based on an algorithm developed by researchers in the field.
  • Added feature: option to undo the last vertex insertion, allowing users to have a tentative vertex on the fly until they formalize it in the triangulation (demo).
  • Added bonus feature: define the initial domain as a rectangle instead of a triangle, which is not trivial, especially considering my background!
  • Added function that allows for traversing the triangles in a triangulation using the Visitor design pattern.

Functions that are worth noting:

  • Basic algebra: Transformation of the coordinates of a point inside a triangle to the coordinates inside another triangle, knowing the vertices of both triangles.
  • Basic mathematics: Use the Visitor design pattern to traverse the pixels in a triangle.
  • Option to create the video sequence using multi-threading.


With the release of version v1.1, creating triangulation has become much easier for users by integrating a face detection library powered by AI. Users can access the library via a REST API to a cloud server.

With this library, users can begin with triangulating the 68 detected vertices for each face and continue adding vertices if necessary.

Windows

Morphing Editor v1.0 (2022)

Created video
Demo video
Download

Morphing Editor v1.1 (2023-2024)

Created video
Demo video
Download

Versions

image

The inspiration for this application originated a long time ago.

My fascination with coding began during my youth when I enjoyed watching demonstrations presented by various coding teams at competitions worldwide.

The effects showcased in these demonstrations were particularly impressive, especially considering the limited capabilities of computers at that time.

I recall being captivated by a demonstration from a Spanish group that showcased a morphing effect: During the demonstration, the components underwent a series of transformations, culminating in the final component being turned into an iguana (this tied into their group being called "Iguana").

It was an impressive effect.

I have been pondering how to recreate this effect over the years. Now, I am introducing this application as the solution I propose.

There is a user guide that explains in detail how the application works.

Demonstration video:

Video created with the application

image

I am now interested in integrating AI elements into my personal project after completing a master's degree in Artificial Intelligence.

This time, there will be a library to detect older faces.


With this new version, we have aimed to simplify the user's task by adding tools for creating grids more easily.

More specifically, it includes a library that detects faces in images using dlib-68 face landmarks, which provides 68 vertices for each detected face.


With this new information, the application now allows:

  • insert the 68 detected vertices with a single click
  • more accurately position the vertices on the new faces

This improvement allows you to create Morphing projects more efficiently.

For example, you can create an interesting effect using four photos in less than 20 minutes, whereas with the previous version, it could have taken you at least two hours.


There is an user guide de usuario that explains in detail how to use the application.

Demonstration video

Video created with the application

Videos

Downloads