Programming Project #5
15-463: Computational Photography

Assignment

The assignment results were good. I built off of the sample GUI code to split the image planes into different sections. Each of these was then warped and sliced to create rectangular planes to represent each 3D surface in the image. Each one was then texture mapped to five surfaces to create the 3D image.

One issue was with the alpha maps in the sample GUI code. The lines of code as given caused severe performance issues during rendering. They were commented out, and for the images used, did not seem to have a significant impact on what the resulting 3D geometries looked like.

Aside from the helper code provided by Prof. Efros, the code consists of one main file:

  • TIP_zmouri - this built off of the original TIP_demo file with the additional code to compute the image planes and map them to the geometry
To execute the program, run TIP_zmouri. The image name is hardcoded into the file; additional images can be warped by changing that variable name. The focal length is also here, which also needs to be changed, depending on the image (guessed through trial and error, per the assignment)

The following are sample images of creating the planes using the provided GUI:

After texture mapping, the following is an image of the 3D geometry obtained:

Image Results

The following are the image results. Each image is displayed along with a novel viewpoint.

Image 1

Sample image provided by Prof Efros. Viewpoint is from slightly above the dog's head, looking toward the window.

Image 2

New York City. Viewpoint is forward into the image, looking right towards the street signs.

Image 3

Tomb of the Unknown Soldier, Washington DC. Viewpoint is from the POV of the guard, looking toward the fountain.