Part A
Image Rectification
The following images had regular grids and were used to practice rectification. Using 4 input points, a least squares approach was used to solve the homography, dividing out the 9th term to be standardized as 1. Here, arbitrary square-like positions (100x100) were chosen as the reference world space coordinates, and values were interpolated with RectBivariateSpline. Image blending was done with averaging over the intersecting spaces.
Image Mosaics
Instead of using arbitrary grids, now the target world space points are the corresponding matching values in the second image. Beyond that, the same techniques from part 1 were used here. Errors exist since the 4-correspondence is not exact, and due to being sequestered indoors, errors will propagate due to camera movement. Nevertheless, relatively decent results were achieved.
Part B: Automatic Stitching
Harris point detection was first run, followed by Adaptive Non-Maximal Suppression. Non-oriented feature descriptions were used (one example will demonstrate a failure case for not using orientation from a directional edge filter such as Sobel). RANSAC was used for feature matching with an arbitrary threshold of 0.5 and 500 iterations. This number could easily vary depending on specific image statistics.