Package boofcv.abst.sfm.d3
Interface DepthVisualOdometry<Vis extends boofcv.struct.image.ImageBase<Vis>,Depth extends boofcv.struct.image.ImageGray<Depth>>
-
- Type Parameters:
Vis- Visual camera sensorDepth- Depth camera sensor
- All Superinterfaces:
org.ddogleg.struct.VerbosePrint,VisualOdometry<georegression.struct.se.Se3_F64>
- All Known Implementing Classes:
PyramidDirectColorDepth_to_DepthVisualOdometry,VisOdomPixelDepthPnP_to_DepthVisualOdometry
public interface DepthVisualOdometry<Vis extends boofcv.struct.image.ImageBase<Vis>,Depth extends boofcv.struct.image.ImageGray<Depth>> extends VisualOdometry<georegression.struct.se.Se3_F64>
Visual odometry that estimate the camera's ego-motion in Euclidean space using a camera image and a depth image. Camera motion is estimated relative to the first frame in the left camera's point of view.
The following is a set of assumptions and behaviors that all implementations of this interface must follow:
- Visual and depth images must be captured simultaneously
- Cameras must have a global shutter
- Calibration parameters can be changed at any time, but must be set at least once before processing an image.
- If process returns false then the motion could not be estimated and isFault() should be checked
- If isFault() is true then the reset() should be called since it can't estimate motion any more
- reset() puts back into its initial state
Optional interfaces are provided for accessing internal features.
-
-
Field Summary
-
Fields inherited from interface boofcv.abst.sfm.d3.VisualOdometry
VERBOSE_RUNTIME, VERBOSE_TRACKING
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.lang.Class<Depth>getDepthType()Type of depth images it can process.boofcv.struct.image.ImageType<Vis>getVisualType()Type of visual images it can process.booleanprocess(Vis visual, Depth depth)Process the new image and update the motion estimate.voidsetCalibration(boofcv.struct.calib.CameraPinholeBrown paramVisual, boofcv.struct.distort.Point2Transform2_F32 visToDepth)Specifies the intrinsic parameters for the visual camera and the transform from visual to depth pixels.-
Methods inherited from interface boofcv.abst.sfm.d3.VisualOdometry
getCameraToWorld, getFrameID, isFault, reset
-
-
-
-
Method Detail
-
setCalibration
void setCalibration(boofcv.struct.calib.CameraPinholeBrown paramVisual, boofcv.struct.distort.Point2Transform2_F32 visToDepth)Specifies the intrinsic parameters for the visual camera and the transform from visual to depth pixels.- Parameters:
paramVisual- Intrinsic parameters for visual cameravisToDepth- Transform from visual camera pixels into depth camera pixels
-
process
boolean process(Vis visual, Depth depth)
Process the new image and update the motion estimate. The return value must be checked to see if the estimate was actually updated. If false is returned thenVisualOdometry.isFault()also needs to be checked to see if the pose estimate has been reset.- Parameters:
visual- Image from visual cameradepth- Image from depth sensor- Returns:
- true if the motion estimate has been updated and false if not
-
getVisualType
boofcv.struct.image.ImageType<Vis> getVisualType()
Type of visual images it can process.- Returns:
- The image type
-
getDepthType
java.lang.Class<Depth> getDepthType()
Type of depth images it can process.- Returns:
- The image type
-
-