Digital Image Processing

Project 1: Image Morphing

Click here for the source code.
Click here for my working SGI executable.
Click here for the informational "report" I turned in with my assignment.

The first project in the image processing class was to write an image morphing program. Some of the results from my program are shown below. You can click on the images to view quicktime videos of the sequence.

Sequence 1:
9 control points
Notice how in some areas, where there are no control points, this morph looks like a cross fade. It is particularly noticable on the top lip, the shirt, the right ear and the right side of the head.
Sequence 2:
35 control points
Notice how the lips are more "in focus" since there are more control points in the lip area. Also, the right ear "grows" out of the side of my head during the sequence, since there are now control points on the right ear. However, there are still not enough control points on the right side of the head. Also, I didn't change the control points on the top of the head, but because of the additional control points in other areas, the top of the head actually looks worse than with only 9 control points.
Sequence 3:
25 control points
I didn't really play around with the number of control points on this sequence. There's still some serious problems, particularly around the eyes and the lips. But this sequence was just for fun.
Sequence 4:
21 control points
I'm really happy with how the outline of the face and the eye and nose area turned out on this sequence. Nothing was done on the ears though, so this is strictly a cross fade there.
Sequence 5:
41 control points
Generally, this is an excellent morph. Two things to point out, resulting from using a lot of control points. First the frame of the glasses appears a bit blocky since it is being stretched by the transformation. Second, the right ear appears to grow and then shrink (since the space between control points on that side of the head goes from large in the initial image to small in the final image).
Sequence 6:
20 control points
This loop between 4 cats (which can be continuously played with no seams uses 20 control points, mainly around the heads of the cats, the nose and the eyes. It does a remarkably good job of morphing. The only artifact that appears is between cat 4 and cat 1 at the end of the video. The morph between these cats is drastic enough that the edge pixel is repeated multiple times (a design decision I made), which looks kind of ugly.
Sequence 7:
24 control points
This loop uses 24 control points, the same 20 as above, with one additional point at each corner of the image (so edge pixels don't repeat as much). Notice this causes some strange "stretching" effects in the image.
Sequence 8:
16 control points
This sequence is the same as the 20 control point sequence, except there are no control points on the cats' noses. Thus the nose appears to be more or less a cross fade between images.



Here's a few sequences I tried for a friend, but the images he gave me really didn't have many good correspondances between them, thus the videos look more like a cross fade, except in the facial area, which turned out really good.

Sequence 9:
11 control points
Sequence 10:
15 control points

Last Modified: Monday, October 16, 2000

Chris Wyman (wyman@cs.utah.edu)