Project Overview

The first part of the project (the part that I mostly completed) is about making use of different frequencies within an image to blur, sharpen, and blend the image.

1.1 WarmUp

In this section, I first blurred the image with a Gaussian filter and subtracted the blurred image from the original to obtain the high frequencies (sharp edges) of the picture. I then added the sharp edges back with an alpha (coefficient) to accentuate those edges and thus "sharpen" the image.

Pre-Unsharp Filter
Post-Unsharp Filter


1.2 Hybrid Images

In this part, I blurred one image (Derek) with a Gaussian filter to obtain a low frequency picture. I blur the other image (Nutmeg) and subtract it from the original Nutmeg to obtain a high frequency picture of Nutmeg. Then, I use the given alignment code to align the two images. The idea behind this is that high frequencies within images are only able to be percieved at short distances, and low frequencies show up at larger distances.

Derek
Nutmeg
Dermeg
FFT for Dermeg


This hybrid image failed because the image objects were at too different angles (faces of Sahai and Denero were different angles) and while the low frequencies/high frequencies of each showed up, the alignment caused part of Denero's face to show up outside of Sahai's face and it was very offputting.

John Denero
Anant Sahai
Sahero [Failed Image]


Josh Hug
Chris Pine
Hugpine


1.3/1.4 Gaussian/Laplacian Stacks and Multi-Resolution Blending

This part of the project was creating Gaussian and Laplacian stacks and then using those stacks to blend images. The Gaussian stack is obtained by applying an increasing sigma of the Gaussian at each level. The Laplacian at level i is is obtained by subtracting the Gaussian at level i+1 from the Gaussian at level i (where the last level of the Laplacian is merely the Gaussian at the corresponding level). With these tools, we can do multi-resolution blending where we blend at each frequency level and add the blended levels up together to create an image that is very well blended. First, I created a mask that specified along which line I wanted to blend the images. Then, I calculated the Laplacian stacks of both images (LA and LB) and the Gaussian stack of the mask (GM). For each level, I calculated GM * LA + (1 - GM) * LB and that became the overall Laplacian image for the blurred image. After computation for every level, I added the Laplacian images for the blurry image.

However, in my images, you can still see the mask line very clearly. The blending still needs a little work, however because of various circumstances, I was unable to start early and I don't want to use anymore slip days. I'm very sorry I couldn't do this project justice and sorry, Professor, for not listening to your advice, but thank you anyway and I hope y'all enjoy my hybrid images!

Gaussians of apple and orange




Laplacians of apple and orange, Gaussian of mask


Result of blending