Project 6 - Image Warping and Mosaicing

Brandon Lee, cs194-26-aeo

In this project we compute the homography transformations between two different images in order to warp and blend two images together, creating a smooth mosaic.

To create the homography transformation matrix, I first specified 8 correspondance points from each image, and then passed these values into a least squares solvers to solve for the values of my transformation matrix. I then applied the transformation on one of my photos (with inverse sampling) inorder to warp the image. Finally, I stiched these images together, forming a mosaic.

Image Rectification

To rectify an image, I tried to warp some square on an image into the unit square.

Here is the original image:

Here is warping to the left face of the wall:

Here is warping to the right face of the wall:

I struggled to get super nice results on the image rectification because from my data sets, I found it quite difficult to click on a square exactly. Any slight deviation from a perfect square leads to angles not being correct.

Image Mosaics

To create a mosaic, we simply warp one image and then stitch the two images together

Here are two original images:

Here is the combined mosaic for the first two images.

Here are two original images:

Here is the combined mosaic:

Here are two more images:

And their combined mosaic:

Two more original images:

And their stitched mosaic:

Reflection

I think the most important thing from this project is the importance of having good data sets/correspondence points. Any slight variation can have drastic changes on the resulting warp.
I found it really cool as how such a “simple” transformation could change the perspective of the imagess, and create the really cool warps.