Sorry if this is a trivial question but I could not find a suitable answer elsewhere.

I recently learned about homography and fundamental matrices in a CV class. I understand how these matrices are calculated and how the the formulae are derived. I also understand that both homography and fundamental matrices have 8 degrees of freedom.

But I'm unable to understand why we need 4 point correspondences for finding the homography while 8 points for calculating the fundamental matrix.

Shouldn't the number of correspondences needed be same intuitively?


2 Answers 2


It is because in the case of fundamental matrix, each correspondence point relates to only one constraint(i.e it maps a point to a line in other image). Hence 8 correspondence points are required.

But in the case of homography, each correspondence solves two constraints. Hence only 4 correspondence points are sufficient.

  • $\begingroup$ Great answer! And solving this constraints is visible in the derivation of the two matrices. I was just wondering would it be possible to $\endgroup$
    – Monster
    Commented Apr 19, 2017 at 17:04
  • $\begingroup$ possible to what ? $\endgroup$
    – harshkn
    Commented Apr 20, 2017 at 3:57
  • $\begingroup$ oh looks like I posted my comment before I was done. As I said, great answer. The planar assumption explains each corresponding solving two constraints. I was just wondering what constraints are relaxed because of the planar assumption in homography. I guess you made a typo in the last sentence, eight point algorithm is used for estimating fundamental matrix and it indeed requires eight correspondences. Thanks for the answer! $\endgroup$
    – Monster
    Commented Apr 20, 2017 at 5:47

consider the number of DOFs and number of constraints.

On the one hand, the matrix H contains 9 entries, but is defined only up to scale. Thus, the total number of degrees of freedom in a 2D projective transformation is 8.

On the other hand, each point-to-point correspondence accounts for two constraints, since for each point x_i in the first image the two DOFs of the point in the second image must correspond to the mapped point H*x_i. A 2D point has two DOFs to (x,y) components, each of which may be specified separately.

Alternatively, the point is specified as a homogeneous 3-vector, which also has 2 DOFs since scale is arbitrary. As a consequence, it is necessary to specify four point correspondences in order to constrain H fully.

Rule of Thumb

  • Number of constraints must equal or exceed the number of DOFs of the transformation.


In 2D each corresponding point or line generates two constraints on H, in 3D each corresponding point or plane generates three constraints.

Thus in 2D the correspondence of four points or four lines is sufficient to compute H, since 4×2=8 , with 8 the number of DOFs of the homography. In 3D a homography has 15 DOFs, and five points or five planes are required. For a planar affine transformation (6 DOFs) only three corresponding points or lines are required, and so on.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.