Class PyramidDirectColorDepth<T extends boofcv.struct.image.ImageGray<T>>


  • public class PyramidDirectColorDepth<T extends boofcv.struct.image.ImageGray<T>>
    extends java.lang.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 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()