Package boofcv.alg.sfm.d3.direct
Class PyramidDirectColorDepth<T extends boofcv.struct.image.ImageGray<T>>
- java.lang.Object
-
- boofcv.alg.sfm.d3.direct.PyramidDirectColorDepth<T>
-
public class PyramidDirectColorDepth<T extends boofcv.struct.image.ImageGray<T>> extends java.lang.ObjectAdds a pyramidal implementation on top of
VisOdomDirectColorDepthto enable it to handle larger motions which its local approach couldn't handle in a single layer. Highest layers (lowest resolution) are processed first. Their estimated motion is then passed into the next layers for its initial guess.Selection of keyframes is a critical problem. A global keyframe is used for all pixels. if Keyframes are selected too often then performance will be degraded and not often enough can cause it to fail completely. A new keyframe is selected when the number of trackable pixels drops below a threshold or the it's spatial diversity has dropped too low
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classPyramidDirectColorDepth.LayerTo3D
-
Constructor Summary
Constructors Constructor Description PyramidDirectColorDepth(boofcv.struct.pyramid.ImagePyramid<boofcv.struct.image.Planar<T>> pyramid)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleanestimateMotion()doublegetFractionInBounds()boofcv.struct.image.ImageType<boofcv.struct.image.Planar<T>>getInputType()booleanisFatalError()booleanprocess(boofcv.struct.image.Planar<T> input, ImagePixelTo3D inputDepth)voidreset()voidsetCameraParameters(float fx, float fy, float cx, float cy, int width, int height)voidsetDiversityThreshold(double diversityThreshold)protected voidsetKeyFrame(ImagePixelTo3D inputDepth)georegression.struct.se.Se3_F32worldToCurrent()
-
-
-
Constructor Detail
-
PyramidDirectColorDepth
public PyramidDirectColorDepth(boofcv.struct.pyramid.ImagePyramid<boofcv.struct.image.Planar<T>> pyramid)
-
-
Method Detail
-
setCameraParameters
public void setCameraParameters(float fx, float fy, float cx, float cy, int width, int height)
-
process
public boolean process(boofcv.struct.image.Planar<T> input, ImagePixelTo3D inputDepth)
-
setKeyFrame
protected void setKeyFrame(ImagePixelTo3D inputDepth)
-
estimateMotion
protected boolean estimateMotion()
-
isFatalError
public boolean isFatalError()
-
worldToCurrent
public georegression.struct.se.Se3_F32 worldToCurrent()
-
getInputType
public boofcv.struct.image.ImageType<boofcv.struct.image.Planar<T>> getInputType()
-
reset
public void reset()
-
setDiversityThreshold
public void setDiversityThreshold(double diversityThreshold)
-
getFractionInBounds
public double getFractionInBounds()
-
-