CS143 Project 1: Hybrid Images
Andy Loomis
September 26th, 2011
The hybrid images algorithm is divided into two parts. The first part
takes each input image and creates both a gaussian and laplacian
pyramid. The second part takes these pyramids and uses them to create
a low pass filtered version of one image and a high pass filtered
version of the other image. These images are then merged to create the
final hybrid image.
Gaussian and Laplacian Pyramid Generation
The first level of the gaussian pyramid is simply the input image.
Subsequent levels are created by low pass filtering the previous level
and scaling it by half. The low pass filter that seemed to work the best
was a 5x5 gaussian kernel. The levels of the laplacian pyramid are
created by subtracting the filtered version of the image from the
unfiltered version. An example of the gaussian and laplacian pyramids
for an image are shown below.
Hybrid Image Construction
Once we have both sets of pyramids we can create the hybrid image.
First we create a low pass filtered version of one image by collapsing
the N coarsest levels of the laplacian pyramid. We then create a high
pass filtered version of the other image by collapsing the M finest
levels of the other laplacian pyramid. Both N and M are user specified
and must be modified to acheive the best results on a per image basis.
Below is a table of hybrid images of an owl and a lemur where both N
and M have been varied. N increases vertically, and M increases
horizontally.
Result Images
Owl/Lemur |
 |
Baseball/Moon |
 |
Sneaker/Jetski |
 |
Nutmeg/Derek |
 |
Cat/Dog |
 |
Einstein/Marilyn |
 |