Project 3: Melissa Su cs194-26-aay

I missed a week of school for the Grace Hopper Women in Computing Conference (totally worth) and don't want to use up all my slip days. I wasn't able to get 1.4 and 2.2 fully functional but I gave it my best shot! I will definitely be working hard on the projects and getting those bells and whistles to compensate, but alas it is time to end my fun with frequencies!

1.1 Image Sharpening

1.2 Hybrid Images

Derek + Nutmeg
Patrick + Spongebob
Fourier Analysis: high pass, low pass, and hybrid

FAIL Chihuahua + Muffin = pure terror

1.3 Gaussian and Laplacian Stacks

Gaussian photos
Laplacian photos

1.4 Multi Resolution Blending

A buggy oraple! I am constructing my Laplacian stacks and then combining them to produce the blendede image, or at least I tried to!

2.1 Toy Problem

To reconstruct the toy image, I created an A and b matrix to represent the constraints for the x and y gradient. The x gradient represents the difference in intensity of a pixel and the pixel to the left of it. The y gradient does the same but with the pixel above it. We align the top left corners because they should be the same color.

2.2 Poisson Blending

This one bugs me a ton because I absolutely love doing this in photoshop. I even had my lovely friend Vivian Liu (cs194-26-aaf) explain this concept to me so many times. I extract the values in the mask that are positive. For each pixel in the positive coordinates, I check for the number of valid neighbors (a max of 4). A valid neighbor is both in the mask and in the image source. There are three cases: 1) If all neighbors are masked then I compute the gradient of the source. 2) If the pixel is near the edge of the mask, but at least one of the neighbors is not in the mask then I compute the gradient of the target. 3) If it is not in the mask, you pull the pixel from the target. Finally you solve for x, remove negative values, combine the solved x's, and finally reshape. My logic is correct, but code is buggy and that is ok!