Class PyramidDirectColorDepth<T extends ImageGray<T>>

java.lang.Object
boofcv.alg.sfm.d3.direct.PyramidDirectColorDepth<T>

public class PyramidDirectColorDepth<T extends ImageGray<T>>
extends Object

Adds a pyramidal implementation on top of VisOdomDirectColorDepth to 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

  • Constructor Details

  • Method Details

    • setCameraParameters

      public void setCameraParameters​(float fx, float fy, float cx, float cy, int width, int height)
    • process

      public boolean process​(Planar<T> input, ImagePixelTo3D inputDepth)
    • setKeyFrame

      protected void setKeyFrame​(ImagePixelTo3D inputDepth)
    • estimateMotion

      protected boolean estimateMotion()
    • isFatalError

      public boolean isFatalError()
    • worldToCurrent

      public Se3_F32 worldToCurrent()
    • getInputType

      public ImageType<Planar<T>> getInputType()
    • reset

      public void reset()
    • setDiversityThreshold

      public void setDiversityThreshold​(double diversityThreshold)
    • getFractionInBounds

      public double getFractionInBounds()