Package com.irurueta.ar.sfm
Class AbsoluteOrientationConstantVelocityModelSlamTwoViewsSparseReconstructor
java.lang.Object
com.irurueta.ar.sfm.BaseTwoViewsSparseReconstructor<C,R,L>
com.irurueta.ar.sfm.BaseSlamTwoViewsSparseReconstructor<D,C,R,L,S>
com.irurueta.ar.sfm.BaseAbsoluteOrientationSlamTwoViewsSparseReconstructor<AbsoluteOrientationConstantVelocityModelSlamCalibrationData,AbsoluteOrientationConstantVelocityModelSlamTwoViewsSparseReconstructorConfiguration,AbsoluteOrientationConstantVelocityModelSlamTwoViewsSparseReconstructor,AbsoluteOrientationConstantVelocityModelSlamTwoViewsSparseReconstructorListener,AbsoluteOrientationConstantVelocityModelSlamEstimator>
com.irurueta.ar.sfm.AbsoluteOrientationConstantVelocityModelSlamTwoViewsSparseReconstructor
public class AbsoluteOrientationConstantVelocityModelSlamTwoViewsSparseReconstructor
extends BaseAbsoluteOrientationSlamTwoViewsSparseReconstructor<AbsoluteOrientationConstantVelocityModelSlamCalibrationData,AbsoluteOrientationConstantVelocityModelSlamTwoViewsSparseReconstructorConfiguration,AbsoluteOrientationConstantVelocityModelSlamTwoViewsSparseReconstructor,AbsoluteOrientationConstantVelocityModelSlamTwoViewsSparseReconstructorListener,AbsoluteOrientationConstantVelocityModelSlamEstimator>
Estimates cameras and 3D reconstructed points from sparse image point
correspondences in two views and using SLAM (with accelerometer and gyroscope
data) with absolute orientation for overall scale and orientation estimation.
NOTE: This implementation does not seem to be very reliable because the SLAM
estimator is not accurate at all on position or orientation estimator.
Use
AbsoluteOrientationSlamTwoViewsSparseReconstructor
if absolute
orientation is needed, or SlamTwoViewsSparseReconstructor
otherwise to get
better accuracy.-
Field Summary
Fields inherited from class com.irurueta.ar.sfm.BaseAbsoluteOrientationSlamTwoViewsSparseReconstructor
firstOrientation
Fields inherited from class com.irurueta.ar.sfm.BaseSlamTwoViewsSparseReconstructor
slamEstimator
Fields inherited from class com.irurueta.ar.sfm.BaseTwoViewsSparseReconstructor
configuration, estimatedCamera1, estimatedCamera2, estimatedFundamentalMatrix, failed, listener, NUMBER_OF_VIEWS, reconstructedPoints, running
-
Constructor Summary
ConstructorsConstructorDescriptionAbsoluteOrientationConstantVelocityModelSlamTwoViewsSparseReconstructor
(AbsoluteOrientationConstantVelocityModelSlamTwoViewsSparseReconstructorConfiguration configuration, AbsoluteOrientationConstantVelocityModelSlamTwoViewsSparseReconstructorListener listener) Constructor.AbsoluteOrientationConstantVelocityModelSlamTwoViewsSparseReconstructor
(AbsoluteOrientationConstantVelocityModelSlamTwoViewsSparseReconstructorListener listener) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
Called when processing one frame is successfully finished.boolean
Process one view of all the available data during the reconstruction.Methods inherited from class com.irurueta.ar.sfm.BaseAbsoluteOrientationSlamTwoViewsSparseReconstructor
updateOrientationSample, updateScaleAndOrientation
Methods inherited from class com.irurueta.ar.sfm.BaseSlamTwoViewsSparseReconstructor
setUpCalibrationData, setUpSlamEstimatorListener, updateAccelerometerSample, updateAccelerometerSample, updateGyroscopeSample, updateGyroscopeSample, updateScale
Methods inherited from class com.irurueta.ar.sfm.BaseTwoViewsSparseReconstructor
cancel, getConfiguration, getEstimatedCamera1, getEstimatedCamera2, getEstimatedFundamentalMatrix, getListener, getReconstructedPoints, getViewCount, hasFailed, isCancelled, isFinished, isRunning, reset, start
-
Constructor Details
-
AbsoluteOrientationConstantVelocityModelSlamTwoViewsSparseReconstructor
public AbsoluteOrientationConstantVelocityModelSlamTwoViewsSparseReconstructor(AbsoluteOrientationConstantVelocityModelSlamTwoViewsSparseReconstructorConfiguration configuration, AbsoluteOrientationConstantVelocityModelSlamTwoViewsSparseReconstructorListener listener) Constructor.- Parameters:
configuration
- configuration for this re-constructor.listener
- listener in charge of handling events.- Throws:
NullPointerException
- if listener or configuration is not provided.
-
AbsoluteOrientationConstantVelocityModelSlamTwoViewsSparseReconstructor
public AbsoluteOrientationConstantVelocityModelSlamTwoViewsSparseReconstructor(AbsoluteOrientationConstantVelocityModelSlamTwoViewsSparseReconstructorListener listener) Constructor.- Parameters:
listener
- listener in charge of handling events.- Throws:
NullPointerException
- if listener is not provided.
-
-
Method Details
-
processOneView
public boolean processOneView()Process one view of all the available data during the reconstruction. This method can be called multiple times instead ofBaseTwoViewsSparseReconstructor.start()
to build the reconstruction step by step, one view at a time.- Overrides:
processOneView
in classBaseTwoViewsSparseReconstructor<AbsoluteOrientationConstantVelocityModelSlamTwoViewsSparseReconstructorConfiguration,
AbsoluteOrientationConstantVelocityModelSlamTwoViewsSparseReconstructor, AbsoluteOrientationConstantVelocityModelSlamTwoViewsSparseReconstructorListener> - Returns:
- true if more views can be processed, false when reconstruction has finished.
-
postProcessOne
protected boolean postProcessOne()Called when processing one frame is successfully finished. This can be done to estimate scale on those implementations where scale can be measured or is already known.- Specified by:
postProcessOne
in classBaseTwoViewsSparseReconstructor<AbsoluteOrientationConstantVelocityModelSlamTwoViewsSparseReconstructorConfiguration,
AbsoluteOrientationConstantVelocityModelSlamTwoViewsSparseReconstructor, AbsoluteOrientationConstantVelocityModelSlamTwoViewsSparseReconstructorListener> - Returns:
- true if post-processing succeeded, false otherwise.
-