Below are the two images I plan to use for the mosaic, and the image I plan to rectify. I selected points manually for each picture.
I wrote out and defined a function to calculate the homography matrix, which we use as so: p' = Hp.
I'm still working on the warping function, and running into a lot of issues :(. I'm currently trying to repurpose warping code from Project 3, but it doesn't seem to be working, so I might look into the cv2.remap(). I'm also have strange bugs with finding the bounding box from applying the homography matrix to the corners of the image to be rectified. I display my current results with the corners and corresponding bounding box (which I think is wrong), and the results of skimage.transform.warp.
Mine
[[-1.11022302e-16 1.00041372e+00 8.63324074e-01 -3.88622468e-11] [ 3.28708172e-11 -1.72690911e-01 8.63324074e-01 1.44809395e+00] [ 6.32869651e-04 5.00206861e-04 4.31662037e-04 5.08817280e-04]]
Skimage