Class EstimateSceneCalibrated

  • All Implemented Interfaces:
    EstimateSceneStructure<boofcv.abst.geo.bundle.SceneStructureMetric>, org.ddogleg.struct.Stoppable

    public class EstimateSceneCalibrated
    extends java.lang.Object
    implements EstimateSceneStructure<boofcv.abst.geo.bundle.SceneStructureMetric>
    Assumes the input images are in an arbitrary order and that any image can be connected to any other image. A brute force approach is used to determine connectivity between images making this an O(N2) algorithm. This its not suitable for a large number of images. All cameras must either be calibrated or uncalibrated. Sensitivity to the selection of the origin view and the motion which defines the coordinate system is minimized by estimating the 3D coordinate of points using local information alone. An alternative and common approach uses information built up from sequential view poses and 3D point estimates which have unbounded error.
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface org.ddogleg.struct.Stoppable

        org.ddogleg.struct.Stoppable.Stopped
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void declareModelFitting()  
      boofcv.abst.geo.bundle.SceneObservations getObservations()
      Observations from each view
      boofcv.abst.geo.bundle.SceneStructureMetric getSceneStructure()
      Returns the scene structure.
      boolean isStopRequested()  
      boolean process​(PairwiseImageGraph pairwiseGraph)
      Processes the paired up scene features and computes an initial estimate for the scene's structure.
      void requestStop()  
      void reset()
      Forgets all added views and cameras
      void setVerbose​(java.io.PrintStream verbose, int level)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • EstimateSceneCalibrated

        public EstimateSceneCalibrated()
    • Method Detail

      • process

        public boolean process​(PairwiseImageGraph pairwiseGraph)
        Processes the paired up scene features and computes an initial estimate for the scene's structure.
        Specified by:
        process in interface EstimateSceneStructure<boofcv.abst.geo.bundle.SceneStructureMetric>
        Parameters:
        pairwiseGraph - (Input) matched features across views/cameras. Must be calibrated. Modified.
        Returns:
        true if successful
      • declareModelFitting

        protected void declareModelFitting()
      • getSceneStructure

        public boofcv.abst.geo.bundle.SceneStructureMetric getSceneStructure()
        Description copied from interface: EstimateSceneStructure
        Returns the scene structure. Camera models will not be specified since that requires additional information than is already available
        Specified by:
        getSceneStructure in interface EstimateSceneStructure<boofcv.abst.geo.bundle.SceneStructureMetric>
        Returns:
        scene
      • getObservations

        public boofcv.abst.geo.bundle.SceneObservations getObservations()
        Description copied from interface: EstimateSceneStructure
        Observations from each view
        Specified by:
        getObservations in interface EstimateSceneStructure<boofcv.abst.geo.bundle.SceneStructureMetric>
        Returns:
        observations
      • requestStop

        public void requestStop()
        Specified by:
        requestStop in interface org.ddogleg.struct.Stoppable
      • isStopRequested

        public boolean isStopRequested()
        Specified by:
        isStopRequested in interface org.ddogleg.struct.Stoppable
      • setVerbose

        public void setVerbose​(java.io.PrintStream verbose,
                               int level)