I selected the four corners of the picture on the wall to align with a corners of a hard-coded rectangle I passed in as points to create the homography matrix to.
The first is the original image, second is the rectified one.
Here is a second image I rectified. I selected the four corners of the fence section closest to us to rectify.
First is original image, second is rectified.
I selected 12 corresponding points in each image. I then computed the homography to morph image 1 into the shape of image 2. I proceeded to warp image 1 into image 2, and then layed the two on top of each other in one single consolidated image, averaging the points at the overlap.
These are the two images I selected points for.
This is the final merged image mosaic:
It turned out decent, except for some hiccups in the edges between the layered images. I realized a major factor that worsened the quality of the mosaic. There were not that many identifying corresponding features that I could match points to. I mainly matched points around the edges of the painting, and the edges of the wall / blinds string. This led to a lack of points I could confidently choose were the same between the two pictures, and a lack of sufficient data to match anything outside just the painting when computing the homography. That's why most of the bad alignment is near the edge of the wall and window.