The original photo.

 

With some of the markups.

Now, a view from slightly below the floor, behind the couch.  Notice, the couch is not too plush and soft now, it is more like a bench in

its shape.

 

This is one of the warped images, actually the wall the above picture is looking straight at.  I was impressed how well it

changed the perspective, from looking at the wall at an angle, to now looking at it straight on.

 

 

One thing that I found that hindered progress greatly was that I defined the reference height to be a point on a vertical line in about the middle of my screen, so any point ‘in-line’ with that line, did not have correct calculation for same-z value.  I had to do many points either manually, or go off to the side of the room, then use that as the known point to calculate the point I really wanted to calculate.  For example, to find the x,y coords of the edge of the hearth, I had to go from the corner of the room (the reference height point) to a point by the left side of the couch, then from that back to the hearth.  If I went straight from the reference height point to the edge of the hearth, it was quite a bit off.

 

I chose one of the squares on the ceiling to be the four points used to compute the homography, I assumed they were indeed square.  Then, figuring that the room was probably 9 feet tall, I used the corner of the floor, saying it was at –9 feet.  It had difficulty calculating the coordinates of the couch, I had to end up guessing what I thought the dimensions were, and inputting them on my own.  One object it did well was the table in the middle of the room, the relative positions on the table seemed reasonable.