I'm reading the book "Multiple View Geometry in Computer Vision" of Hartley and Zisserman. There was something I was unable to understand correctly. Here's the example where K denotes calibration matrix and w conic in image plane.:

Example 8.18. A simple calibration device The image of three squares (on planes which are not parallel, but which need not be orthogonal) provides sufficiently many constraints to compute K. Consider one of the squares. The correspondences between its four corner points and their images define the homography H between the plane π of the square and the image. Applying this homography to circular points on π determines their images as H(1, ±i, 0) T . Thus we have two points on the (as yet unknown) ω. A similar procedure applied to the other squares generates a total of six points on ω, from which it may be computed (since five points are required to determine a conic). In outline the algorithm has the following steps:

  1. For each square compute the homography H that maps its corner points, (0, 0) T , (1, 0) T , (0, 1) T , (1, 1) T , to their imaged points. (The alignment of the plane coordinate system with the square is a similarity transformation and does not affect the position of the circular points on the plane)
  2. Compute the imaged circular points for the plane of that square as H(1, ±i, 0) T .Writing H = [h 1 , h 2 , h 3 ], the imaged circular points are h 1 ± ih 2 .
  3. Fit a conic ω to the six imaged circular points.

Why is the transformation in bold part "The alignment of the plane coordinate system with the square is a similarity transformation and does not affect the position of the circular points on the plane" (or H) supposed to be a similarity transformation (or matrix)? I thought imaging the real square here is projective transformation which is a more general case, not a similarity transformation. What am I missing?


1 Answer 1


It seems to be referring to the fact that for any given square on a plane, you can set up coordinates on that plane that make the square's corners fall at (0,0), (1,0), (0,1), and (1,1). So when computing the homography H, you can safely specify that those four points are the corners. There is no need to set up any additional variables to represent, for instance, the translation or rotation of the square within the plane's coordinates.

The transformation between two different Cartesian coordinate systems on the same plane would be a similarity transformation. Since similarity transformations don't affect the "circular points", and the circular points are the only information about H that we need, the final result does not depend on what coordinate system we chose for the plane. So, we are free to choose one that is convenient.

So, the text is illustrating that it doesn't matter where the square is on the plane, we can always move our coordinates to align with the square.

  • $\begingroup$ Yes, I completely misunderstood the explanation in the book and kept it too complicated for myself. So it was just a simple matter of setting up a coordinate system of a new scale, where four corner points of the square are (0, 0), ... (1, 1). This is, of course, a similarity transformation. Thank you very much. $\endgroup$
    – H. Kwak
    Commented Sep 4, 2022 at 22:08

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.