Project 2 - Hybrid Images

by Andrew Tan

15-463: Computational Photography

Project Details

The goal of this assignment was to create hybrid images. To create hybrid images, I overlaid the high frequency portion of one image on top of the low frequency portion of a second image. At close range, we interpret the image as the high frequency image and far away, we interpret the image as the low frequency image.

Approach

To extract the low frequency portion of an image, I filtered the image with a gaussian filter (this is the same as multiplying the gaussian filter in the frequency space - so we basically keep the low frequencies). To accurately calculate the frequency we have that shows how the cut-off frequency is related to the sigma of a gaussian filter. However, we can simply experiment of the sigma's of the gaussian since it is directly related to it. To extract the high frequency portion of an image, I simply subtracted the low frequency portion away from the original image. This was all that was required to create hybrid images

Results

Monalisa v2.0

This was my favorite result. There has been a lot of association between the Monalisa and Mr. Bean (as can be seen by just searching for "monalisa" in google images). So I decided to try putting two versions of the Monalisa together. This resulted in interesting results. I used sigmas of 2.5 and 1.5 (subtracted from original) for low and high pass filters.

Original

Aligned: Aligned using the eyes of the face to match the face as best as possible

FFT: This is the aligned image in the frequency domain

Filtered: After filtering, the high frequencies are removed and only the low frequencies remain, giving the effect of blurring

Filtered FFT: This is the filtered image in the frequency domain. As you can see, only low frequencies are left (near the axis')

Original

Aligned

FFT: This is very similar to the Monalisa's but because of the rotation, the frequency domain looks a little skewed (this is mainly because of the slanted border)

Filtered: This is what is left after removing the low frequencies. As you can see, only the details are left.

Filtered FFT: Unlike the low frequency portion, the center and on-axis data isn't as intense (but still looks bright because of MATLAB's imagesc)

Final: The looks like a normal Monalisa far away, but on when closer, all we can see is Mr. Bean's weird expression.

Mr. Bean

Cut-off sigma of 2.8 (both)

Original

Aligned

FFT

Filtered

Filtered FFT

Original

Aligned

FFT

Filtered

Filtered FFT

Final

Bad Result

Low sigma = 10, high sigma = 3. Although I played around with the cut-off frequencies a lot, it didn't seem to be able to mesh well. I think there are two reasons why it doesn't work too well. It's because of the fact that I'm using a logo and an image with not enough high-frequencies to show up easily as well as a logo with a lot of white area. If the chicken were inside the logo only, the details would pop out more. This is because we are adding the two portions together and result in white-on-white. This seemed to result in the chicken being washed out. Although, from far away, the KFC logo can still be made out, the chicken looks very white.

Original

Aligned

FFT

Filtered

Filtered FFT

Original

Aligned

FFT

Filtered

Filtered FFT

Final