Project 6a: Image Warping and Mosaicing

By James Smith

Introduction

If a picture is taken of a single object from 2 different perspectives, the projective transform between these two points of view can be calculated from the images. 4 correspondence points are needed to be able to recover this projective matrix. If we use more points, we can use linear least squares to get a better predicion of what the projection matrix H is. In this project we explore a few uses of this type of algorithm.

Image Rectification

If we want to see what a planar surface woud look like if we were looking at it strait on, we can rectify that surface into a square shape using the calculated matrix H. Here are two examples of that.

Building Mural

This building mural painting was taken in south Berkeley.

Original image.

Same image with the painting rectified

Cropped view of the painting

Video Game

This image was taken in my living room and shows an example of rotating in multiple axes.

Cover of a video game.

Same image with the cover rectified

Cropped view of the game

Mosaics

Using correspondance points, we can determine the projection from one image to another image in the same area. We can then project one of the images using H and blend the two images together using a linear blend to create a Mosaic Panorama.

Golden Gate Fields

These images were taken at the Golden Gate Fields horse race track.

Right image

Center image

Right image

Mosaic image from the above

Hearst Memorial Mining Building

These images were taken in the lobby of the HMMB building.

Right image

Center image

Right image

Mosaic image from the above

Cesar Chavez Park

These images were taken Cesar Chavez Park at the Berkeley Marina. I believe the quality of these is lower because it was outside and the plants and trees were moving slightly. Also there is a remarkable amount of detail on the ground, so any slight offset will be clear..

Right image

Center image

Right image

Mosaic image from the above

Summary

The main thing that I learned on this project is that it is important to have a variety of correspondance points all over the image. If they are too clustered together, it is easy to calculate a homography matrix that is distorted. I believe this is due to the low precision we get by picking correspondence points by hand.