Package boofcv.alg.sfm.structure
Class EstimateSceneCalibrated
- java.lang.Object
-
- boofcv.alg.sfm.structure.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.
-
-
Constructor Summary
Constructors Constructor Description EstimateSceneCalibrated()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddeclareModelFitting()boofcv.abst.geo.bundle.SceneObservationsgetObservations()Observations from each viewboofcv.abst.geo.bundle.SceneStructureMetricgetSceneStructure()Returns the scene structure.booleanisStopRequested()booleanprocess(PairwiseImageGraph pairwiseGraph)Processes the paired up scene features and computes an initial estimate for the scene's structure.voidrequestStop()voidreset()Forgets all added views and camerasvoidsetVerbose(java.io.PrintStream verbose, int level)
-
-
-
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:
processin interfaceEstimateSceneStructure<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:EstimateSceneStructureReturns the scene structure. Camera models will not be specified since that requires additional information than is already available- Specified by:
getSceneStructurein interfaceEstimateSceneStructure<boofcv.abst.geo.bundle.SceneStructureMetric>- Returns:
- scene
-
getObservations
public boofcv.abst.geo.bundle.SceneObservations getObservations()
Description copied from interface:EstimateSceneStructureObservations from each view- Specified by:
getObservationsin interfaceEstimateSceneStructure<boofcv.abst.geo.bundle.SceneStructureMetric>- Returns:
- observations
-
reset
public void reset()
Description copied from interface:EstimateSceneStructureForgets all added views and cameras- Specified by:
resetin interfaceEstimateSceneStructure<boofcv.abst.geo.bundle.SceneStructureMetric>
-
requestStop
public void requestStop()
- Specified by:
requestStopin interfaceorg.ddogleg.struct.Stoppable
-
isStopRequested
public boolean isStopRequested()
- Specified by:
isStopRequestedin interfaceorg.ddogleg.struct.Stoppable
-
setVerbose
public void setVerbose(java.io.PrintStream verbose, int level)
-
-