CS 194-26

Project 3: Fun with Frequencies and Gradients!

Minjoo Sur

Part 1: Frequency Domain

1.1: Warmup

These are the images before and after sharpened. To sharpen image, first, read in an image and Low-pass filter the image using a gaussian filter. Second, use the low-pass filtered image to extract the high-pass signals from original image. Last, add the high-pass signals to the original image.


Original
alpha = 1
alpha = 2
alpha = 5

1.2 Hybrid Images : Hybrid images and the Fourier analysis

Using Hybrid Images as described in the paper by Oliva et al, we layer the high frequencies from one image on top of low frequencies of another. With proper sigma values, the hybrid image can be very natural.


Derek
Nutmeg
gray hybrid
color hybrid

Minjoo(Myself)
Timothy(My Boyfriend)
Failed Timinjoo
Successful Timinjoo

Minjoo FFT
Timothy FFT
Minjoo Low Pass FFT
Tim High Pass FFT
Timinjoo FFT



Below are the one which didn't work that well....

Tiger
Camel
Just Tiger...?

1.3: Gaussian and Laplacian Stacks

The pictures below are examples of the gaussian and laplacian stacks at different levels. Unlike pyramids, stacks does not downsample. Gaussian filters smooth the image and Laplacian images bring out the sharper edges. By combining gaussian and laplacian of two images, we were able to generate hybrid images in the last part.







1.4: Multiresolution Blending

In this part, we perform multiresolution blending to produce a gentle seam between two images separately at each band of image frequencies. This results in a much smoother seam that gently blurs one image into another.


Orange
Apple
Oraple

Turned Off
Turned On
Both

Part 2: Gradient Domain Fusion

Our eyes are sensitive much more about the gradient of an image than the overall intensity. So, when blending, we want the gradient of the composite inside the region to look as close as possible to the source image gradient, and the composite must match the target image on the boundary.

2.1: Toy Example

For toy problem, we reduce the least square problem into a linear equation. We also use Poisson blending. The general idea is that for every corresponding pixels, the diffence between their neighbors should be the same.

Toy Before
Toy After

2.2: Poisson Example


Source
Target
Raw Blend
Poisson Blend

Source
Target
Raw Blend
Poisson Blend