I started by working on sharpening images. To do this, I boosted the high frequencies in the image. I got the high frequencies by applying a low-pass filter to the image and subtracting that from the image to get the high frequencies. Then, I added a multiple of the high frequencies to the original image to make it look sharper.
Blurry Input Dog
Sharped Output Dog
To create hybrid images, I took two different images, aligned them to overlap properly, and then combined the low frequencies from one image with the high frequencies from the other image.
In this way, when looking at the image from a distance, you see one image, and when looking up close, you see a different image.
Gaussian and Laplacian Stacks
Gradient Domain Fusion Explanation
In this part of the project, our goal is to "paste" part of a source image into a target image in a natural looking way.
We can already paste in a standard way by just copying in the values directly from the source image. However, this does not look
very natural. We can be smarter about this by noting that humans actually care much more about gradients than they do about
absolute values of colors.
So instead of trying to keep the original colors as close to the same as possible, we will try to minimize the difference in gradients.
We do this in two parts - one part is the gradients within the source image itself. We want those as close to the gradients in the original source image as possible, so as to keep the same edges and shapes in the image. The other part is the gradients between the edge of the source image and the target image. Here, we want the gradients to be as close to the gradients in the target image as possible, so as to blend the source image into the target image. Pixels outside of the source image (the rest of the target image) are kept at their original values.
Mathematically, we formulate this with the following minimization problem:
-
Input Image
-
Solution Output Image