Final Project: The Vertigo Shot and Fake Miniatures

Jacob Huynh
CS 194-26: Image Manipulation and Computational Photography
Professor Alexei Efros

The Vertigo Shot

Overview

In this assignment, I will be recreating the dolly zoom, as made famous in Alfred Hitchcock's Vertigo. In order to duplicate this effect, I will be using a zoom lens to take a series of photos while I'm changing the field of view of the subject. I captured all of the pictures below at a friend's apartment. A difficulty faced when capturing these images is the differing level of exposures for some shots. Because some shots were overexposed and thus brighter or darker when compared to the others, when compiled into the gif to recreate the tilt shift shot, the transition is very unsmooth and it becomes obvious that it is a series of individual shots instead of an actual video shot. In order to solve this, you must be extremely consistent with your exposure in order to control the level of brightness of each image.

Source Images: Emilie


Tilt Shift: Emilie


Source Images: Shoes


Tilt Shift: Shoes


Fake Miniatures

Overview

In this project, we will be recreating the effect known as "Tilt Shift", which simulates the effect of selective camera focus. The effect of this when used on large landscape pictures is that small objects in the focused area look like small miniatures. In order to achieve this effect I first, I created a gaussian stack where each layer of the stack i was created by simply applying a gaussian on the image i times. Then, I created a mask by using a combination of functions, np.linspace and np.tile, as well as an input point to determine the vertical center of the horizontal mask. Then, I blurred the image by first creating an np array with the same dimension as the input image. I then filled in the image according to the matching coordinate in the mask which will then correspond to the correct gaussian stack to choose from. Finally, I increased the saturation value by first converting the rgb image into an hsv image and multiplying it by some constant, in order to create a more toy like effect. The most difficult portion of this project by far was to determine a hashing scheme in order to choose from the correct gaussian stack when rebuilding each pixel in the output image. The idea is that the further away from the center horizontal line, the further down the gaussian stack we must go in order to find the correct pixel.

Original Images

Internet Images

Italy


+

=


Beach


+

=


Images Taken by Me

Fall


+

=


Bay Bridge


+

=


Final Thoughts

This was the final project of the class and I have to say that I had a great time with this! Even though it might not be fully applicable to the real world, since many programs such as Adobe Photoshop fully automate these processes, learning the underlying processes behind these tools we take for granted has been very rewarding. Thank you for a great semester!