This semester I took Georgia Tech's Computational Photography course. It was a very hands-on course, mostly comprising of assignments and projects. This post includes the results for all its assignments and projects.
1. Pyramid blending
The goal of this assignment was to combine two separate images into a seamlessly blended image, using a mask. The input took a left image, a right image, and a mask, which was a binary image used to overlap the two inputs.
For this assignment we wrote code to align & stitch together a series of images into a panorama. We followed the text from Computer Vision: Algorithms and Applications book. The assignment followed homography techniques to create the output picture.
After stitching these all up, I got this result.
PS. I took these pictures from the Salève mountain in France.
This one required us to produce HDR images, using input images captured at various exposure levels.
For the output we produced a basic HDR image and it's best version, using histogram equalization.
Finally, we also created a color-enchanged version using Gamma correction.
4. Video Textures
In this assignment we infinitely looped pieces of video. The output was a GIF with very smooth transitions.
This was the final result. (Not totally smooth, but almost.)
5. Image Inpainting
This was our first project which required us to implement an image inpainting technique to remove objects from pictures. This is similar to the Magic Eraser tool available on the Pixel 6. We replicated results from this research paper.
6. Seam Carving
The final project was based on seam carving to shrink or expand images. We implemented the backward and forward energy methods from these two research papers:
- Seam Carving for Content-Aware Image Resizing. (2007)
- Improved Seam Carving for Video Retargeting. (2008)
The red lines in this image show where the pixels were removed in the output image. These are points where the removal would have the least effect in the output image.