Rectifying and Mosaicing

Here are a few examples of rectify. The chessboard is a bit off because the points I put down weren't precisely square. The image below is one I took of the UC then recitifed to a front view.

Mosaics

Below are a few quick mosaics I made from shots I took around campus and on Beeler street. The first is composed of three images, the other three are composed of only two.

To create the images I took two pictures and calculated a homography, which I then used to warp one of the images into the perspective of the first. I performed forward warping on the warped image, using interp2 to account for places where coordinates fell between pixels. I then took my newly warped image and my untouched first image, and ran them through a function which created a mask which I used to alpha blend the two images together.

 

Auto-Stitched Images

Taking the blending and warping functions from the first part, I wrote functions to run ANMS on harris points, create descriptors, match descriptors, and perform RANSAC on the remaining points.

For ANMS this entailed sorting my harris points via supression radius to create two sets of points evenly distributed across their respective images. I then found 8x8 descriptors for each of these points, and narrowed down the number of points by seeking matching descriptors for each point. Lastly, RANSAC took the remaining points and found inliers using a randomly generated homography consisting of four points from the two sets. It then used these inliers to create the final homography used to generate the images.