Class RectifyFundamental

java.lang.Object
boofcv.alg.geo.rectify.RectifyFundamental

public class RectifyFundamental extends Object

Rectifies a stereo pair given a fundamental or essential matrix. The rectification ensures that the epipolar lines project to infinity along the x-axis. The computed transforms are designed to minimize the range of disparity between the two images. For this technique to work the epipoles must lie outside of both images. See [1,2] for algorithmic details.

WARNING: On paper this technique sounds straight forward. In practice it requires a very precise fundamental matrix estimate to be of practical use. Using the epipolar constraint alone is not sufficient to remove outliers because a point far away that lands on the epipolar line will have a small error. Removing lens distortion from the image is recommended.

  1. R. Hartley, "Theory and Practice of Projective Rectification", International Journal of Computer Vision, vol 35, no 2, pages 115-127, 1999.
  2. Page 305 in R. Hartley, and A. Zisserman, "Multiple View Geometry in Computer Vision", 2nd Ed, Cambridge 2003
  • Constructor Details

    • RectifyFundamental

      public RectifyFundamental()
  • Method Details

    • process

      public void process(DMatrixRMaj F, List<AssociatedPair> observations, int width, int height)
      Compute rectification transforms for the stereo pair given a fundamental matrix and its observations.
      Parameters:
      F - Fundamental matrix
      observations - Observations used to compute F
      width - Width of first image.
      height - Height of first image.