The purpose of this project was to implement human guided image warping and panorama creation.
Homographies were solved by first collecting corresponding points using cpselect. The homography was then solved using the SVD decomposition of the resulting linear system of equations. Figuring out the final image size after rectification was tricky, but after adjusting for the change of origin, I used a double for loop to apply the homography to the image using nearest neighbor interpolation (my attempt to use interp2's linear interpolation resulted in the program running for an hour). To create a mosaic, I stiched the photos one at a time. I applied linear feathering to the warped images and then placed them in the correct position onto an final image that would contain the whole mosaic.
Original
Rectified
Original
Rectified
Original
Rectified
Original 1
Original 2
Resulting Panorama
Original 1
Original 2
Resulting Panorama
Original 1
Original 2
Resulting Panorama
Original 1
Original 2
Resulting Panorama