In this part of the project, we learned how to compute homographies, applied the perspective transformation to images, displayed image rectification, and then created mosaics of images.
Here are the images that I used for this part of the project.
Here we calculated our homographies by solving the equation $p`=Hp$ by using least squares on the equation $Ah = b$, where $h$ contains the 8 variable coefficients of the homography matrix.
Here we apply the homography matrix to one of our images for demonstration purposes.
Here we use our homography matrix to apply image rectification. This is done by warping an image to a series of correspondence points that force a certain perspective on any feature we desire. The first image we use is a hallway that make the tile face the camera, and the second image a painting where we do the same.
In this part, we use our perspective transformations to allow us to easily align and combine images into large panorama images. After aligning them, a 2 layer laplacian pyramid is used to seamlessly blend them together.
This project was very challenging and I learned a lot. I learned how to apply least squares when calculating homographies, how to do image rectification, how to do deal with the side effects of perspective transformations since they can inadvertently crop images, and how to estimate bounding boxes for the transformation images to ensure that they capture the parts of the image we are concerned with.