Class EstimateViewKnownCalibration

java.lang.Object
boofcv.alg.structure.expand.EstimateViewKnownCalibration
All Implemented Interfaces:
VerbosePrint

public class EstimateViewKnownCalibration extends Object implements VerbosePrint
Expands to a new view using know camera intrinsics for all views. Inliers from 3-view are triangulated using the two known views. Then the 3rd view (the one being added) has its pose estimated using PNP + RANSAC. Then all the points and views are refined using bundle adjustment. The cameras will not be optimized as they are considered to be known.
  • Field Details

    • fractionBadFeaturesRecover

      public double fractionBadFeaturesRecover
      If less than this number of features fail the physical constraint test, attempt to recover by removing them
    • minimumInliers

      public ConfigLength minimumInliers
      Minimum number of inliers for it to accept the solution
    • estimateUtils

      public final EstimateViewUtils estimateUtils
    • triangulate2

      public Triangulate2ViewsMetricH triangulate2
      Triangulate from the two known views
    • ransacPnP

      Estimates the new view's location
    • inputPnP_to_inliersThreeView

      public final DogArray_I32 inputPnP_to_inliersThreeView
    • pinhole

      public final CameraPinhole pinhole
  • Constructor Details

    • EstimateViewKnownCalibration

      public EstimateViewKnownCalibration()
  • Method Details

    • defaultConfiguration

      public void defaultConfiguration()
      Instantiates triangulation and RANSAC using default parameters
    • configure

      public void configure(ConfigTriangulation configTriangulate, ConfigPnP configPnP, ConfigRansac configRansac)
      Use Configuration classes to initialize triangulate and RANSAC
    • process

      public boolean process(PairwiseGraphUtils pairwiseUtils, SceneWorkingGraph workGraph, MetricExpandByOneView.Solution solution)
      Estimates the pose of a view and which features are in its inlier set.
      Parameters:
      pairwiseUtils - (Input) Pairwise information and specifies which view is being estimated
      workGraph - (Input) Working graph with metric information
      solution - (Output) The estimated state of the new view
      Returns:
      true if successful or false if it failed
    • setVerbose

      public void setVerbose(@Nullable @Nullable PrintStream out, @Nullable @Nullable Set<String> configuration)
      Specified by:
      setVerbose in interface VerbosePrint