Programming Project #3
15-463: Computational Photography

Assignment

The assignment results turned out ok. I used three different types of images to create mosiacs: one outdoor image, one indoor image, and a series of screenshots within the game World of Warcraft. In order to warp the images, I chose one image as the primary image, which in most cases was the "center." I then warped each image to that projection. For some of the images, warping the "ends" to the center caused some size issues because of pixel displacement. For these, I tried to warp the ends to the already warped images in between.

To blend the images, I used an alpha map to gradually blend the two images on the overlap. There were some issues because of size: the warps weren't always precise, and there were some misaligned images.

The program consists of five main files

  • createMosaic(im1, im2, overlap1, overlap2, displace) - this is the "main" program. After image warps have been created, this reads in the images, the left and right overlaps, and any vertical displacements, and creates a mosaic. This was used to append additional warps to existing mosaics, gradually growing them.
  • computeH(im1_pts, im2_pts) - this takes in a series of points and computes the projective homography between the two
  • warpImage(im, H) - this warps the input image per the homography and returns the resulting warp
  • blendLeft(im, pos) - this creates an alphamap the same size as the input image, with sharply decreasing alpha values from right to left
  • blendRight(im, pos) - this creates an alphamap the same size as the input image, with sharply decreasing alpha values from left to right
To execute the programs, run createMosaic with each image. The overlaps and displacement were calculated simply by looking at where the images lined up, and refined through trial and error.

Rectification Results

In order to test the homography, I used the example images at the top of the assignment page. I cut the original image, and attempted to warp it into the two examples:

(Note: point correlations are in the following directory:
Rect

Mosaic Results

The following mosaics were created as a result of the programs. The following are the three sets of images I took, followed by the complete mosaic.

(Note: for individual warps, point correlations, and intermediate mosiacs, all images are in the following directories:
Warp1
Warp2
Warp3

Click each thumbnail for a larger image: