CS 194-26: Image Manipulation and Computational Photography, Fall 2018

Project 6: Image Warping and Mosaicing

Alan Nguyen, cs194-26-ags


Part 1: Recover Homographies

To recover the homography matrix, I first used Python's ginput() function to pick certain points. Then, I computed p' = Hp and converted H from a 8x1 matrix to a 3x3 matrix.

Part 2: Rectification

A rectangular box is chosen by 4 points that are then passed onto the homography matrix with a unit square. Then, we perform inverse warping with the inverse homography matrix and the warped points (x', y').

Part 3: Image Stitching

Prior to image stitching, the left and center images were all padded into a 1600x1200 image with black borders. Then, a series of corresponding points are chosen between the left and center images for the homography matrix. Linear blending is finally performed and we are able to construct an image mosaic of the two!

Summary

What I thought was really interesting was how the Homography matrix was the key to image rectification and mosaic building. It's fascinating how such transformation matrices can easily transform the POV of an image, and how they can help stitch two images into a panorama.