Sam Potasznik (spotaszn)
March 26, 2010
The goal of this project was to create a combination of two faces into a realistic-looking third face.
To do this, the actual shape of the faces needed to be combined, not just the color values at each
To merge the shapes, I calculated defined certain features on both faces, then took the
midpoints of these features. These midpoints become the location of the feature on the final image.
From these midpoints, offsets can be calculated to the location of the feature on imgA and imgB.
From these feature offsets, which were only defined at certain points (the midpoints) offsets for
the rest of the image could be computed using a Poisson fill.
One the offsets to each image were found, each pixel in the final image was then
determined to be the average of
imgA @ offset_to_a + imgB @ offset_to_b
To create animations, instead of taking the average (i.e. the midpoint) of the differences
between features and the average of the pixel value from each image, I used a weighted average.
I calculated 60 frames for each morph, so on frame 5, for example, the "midpoint" was defined
as 5/60ths of the way from imgA to imgB and the pixel value came 55/60ths from imgA and only 5/60ths
I've grouped my results into the different "experiments" I tried.
Those marked with ec are extra credit extensions. I've listed the results
in order of AWESOMENESS, so check them out in that order if you're pressed for time.
M.C. Escher: The Master of Morphing ec
Camera Transformations ec