CS 194-26 Project 4

Abe Jellinek

Introduction

In this project, we created mosaics (panoramas) of overlapping images by recovering homographies between key points in different images.

Shoot and digitize pictures

I used a digital camera to shoot a couple images of a planar surface (wall of a building) along the street. I had trouble acquiring much good data using my own camera, so I ended up supplementing with images from the Internet that you'll see further down.

Recover homographies

I wrote a function compute_H that takes point matrices for two images and returns a 3x3 homography matrix. It works by stacking points into a complex matrix with two rows for each point pair and then running least-squares to find an approximation of the homography.

Warp the images

By recovering a homography between a square feature in an image and a front-facing square, we can "rectify" it (although the end result won't necessarily look perfectly realistic). I used two images from the Internet for this. You can see the results below. (Any deviations from an ideal rectification are my own bad point-selection skills).

Blend the images into a mosaic

For the images I took, shown at the top of this page: