Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Algorithm behind findHomography() and the kind of homography returned by it

Hi folks!

I am dealing with the estimation and decomposition of homographies for a couple of days now and the very moment I think I got it I stumble upon new and even more mind-boggling questions. What I would like to understand is how a homography can be decomposed into parameters R and t how to estimate the camera path with the aforementioned parameters. I am well aware of the plethora of different algorithms to do that but I have a few questions that I could not answer after hours of googling and literature research.

As far as I know homographies are transformations which transform one set of points from one image plane to another and that they are the most general kind of transformation containing rotation, translation and non-linear scaling parameters. Today I read that there are two kinds of homographies: projective and euclidean homographies. From what I've read thus far, Euclidean homographies directly express the reconstruction of the relative motion between the views and the normal of the plane.

  • Is that correct?
  • Is it save to assume that a Euclidean homography can be thought of as a "real world" homography which describes my rotation and translation from one camera position to the next?
  • Are there any other important differences between projective and Euclidean homographies?
  • Which algorithm is used in findHomography() in OpenCV 2.4.13?
  • Does findHomography() in OpenCV 2.4.13 return a projective or euclidean homography?
  • When do I need a projective or a euclidean homography?

Your help is deeply appreciated!!!

Thank you