Class HomographyInducedStereoLinePt

java.lang.Object
boofcv.alg.geo.h.HomographyInducedStereoLinePt

public class HomographyInducedStereoLinePt extends Object

Computes the homography induced by a plane from correspondences of a line and a point. Works with both calibrated and uncalibrated cameras. The Fundamental/Essential matrix must be known. The found homography will be from view 1 to view 2. The passed in Fundamental matrix must have the following properties for each set of point correspondences: x2*F*x1 = 0, where x1 and x2 are views of the point in image 1 and image 2 respectively. For more information see [1].

NOTE: Any line which is parallel to camera baseline can't be used. The lines in both cameras will have the same slope, causing their intersection to be a plane instead of a line. This can be a significant issue since for many stereo rigs it would mean no perfectly horizontal lines can be used.

[1] R. Hartley, and A. Zisserman, "Multiple View Geometry in Computer Vision", 2nd Ed, Cambridge 2003

  • Constructor Details

    • HomographyInducedStereoLinePt

      public HomographyInducedStereoLinePt()
  • Method Details

    • setFundamental

      public void setFundamental(DMatrixRMaj F, @Nullable @Nullable Point3D_F64 e2)
      Specify the fundamental matrix and the camera 2 epipole.
      Parameters:
      F - Fundamental matrix.
      e2 - Epipole for camera 2. If null it will be computed internally.
    • process

      public void process(PairLineNorm line, AssociatedPair point)
      Computes the homography based on a line and point on the plane
      Parameters:
      line - Line on the plane
      point - Point on the plane
    • getHomography

      public DMatrixRMaj getHomography()