Project 6 : Panoramas

created by Alvin Wan

In this project, we consider another point registration problem, for affine transformations. Here, we compute a homography between (x, y, 1) coordinates. The final 1 value is to account for translations. I begin by labelling points, computing the homography, then warping the image.

Rectified Images

Below, we show some results where the image is warped for a new "perspective". In other words, we show rectified images. First, below is the original image.

From left to right, we flatten perspective facing (1) doe, (2) evans--the building tot he left--, and (3) the ground.

Panoramas Process

Below are the steps used in creating the panorama.

  1. The result of a warp.
  2. Naive overlapping the warped image on the other.
  3. Blend the two by using a weighted average directly proportional to x position.
  4. Blend only in the region of interest (between registration points)
  5. Extend the image, by shifting the image before computing the homography.
  6. Finally, we blend from the minimum to maximum x positions, for all registration points. We tried a number of different blends--gaussian, laplacian, and linear.

Panorama Results

Below, we start by showing the two original images side-by-side. Then, we show the combined panorama below it.

This project, we see how something simple as least squares and weighted averages can accomplish something non-trivial. More importantly, it reaffirms the idea that each perspective is really another basis, and swapping between is a simple matter of changing bases.