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.