Using Gaussian Frequencies to create interesting filters and effects with images!
I used the D_X and D_Y operators to get the partial gaussians of the cameraman image in the X and Y direction. Upon obtaining the partial gaussians, I then used the L2 norm formula to obtain the gradient magnitude image. Then, I chose a threshold of 0.35, to obtain the binarized image.
Some differneces in using a blurred image vs the original image in finding the magnitude and edge images, is that the edges are much smoother and connect more of the dots. This happens because taking the gaussian of the original images smoothes sharp corners which are high frequencies, and allows for smoother edge detection.
Derivative of Gaussian (DoG): This method also gives us similar results as the previous version. Here we convolve the gaussians in the X and Y direction to create DoG filters. We then use these filters to obtain smooth edges, similar to previous results.
In this implementation, we take a "fuzzy" image, and then sharpen them by obtaining a high-pass filter of the original image, and adding it to the original by scaling it by an alpha. We obtain high-pass filters of the original image by taking the gaussian of the original image (obtaining low-pass) and then subtracting from original image, to get high-pass.
Using an already sharp image of Berkeley, our method tends to provide an even sharper effect by emphasizing the higher frequencies in the lines and edges of the images of Berkeley.
We make one of the pictures a low-pass filter by using a gaussian, and make another a high-pass filter by subtracting its gaussian by the original image, and super-impose them with proper alignment to obtain a cool hybrid-effect.
To build my Gaussian stacks, I first started with the gaussian of my original image, and took the second order gaussian and so on for some N=8 levels. To build my laplacian stacks, I took an [i] and [i+2] gaussian level images and subtracted them to obtain the i-th laplacian in the stack. I also remembered to place the last gaussian at level N=8 at the end of my laplacian stack, in preperation of the laplacian collapse ot reconstruct the original image.
To obtain a Multiresolution Blending, I first obtained a Gaussian stack for my vertical mask. Upon obtaining this, I multiplied each layer of my laplacian stack with each layer of the mask gaussian stack. This created a masked_laplacian stack for the apple and orange images respectively. (Note: Mask was flipped along the vertical for one of the images, to blend two images side-by-side) I added the masked_laplacian stacks for the apple and orange to create a blended laplacian stack for the oraple. Finally I collapsed the oraple laplacian stack to obtain the blended image.