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
| Modifier and Type | Class and Description |
|---|---|
static class |
PyramidDirectColorDepth.LayerTo3D |
| Constructor and Description |
|---|
PyramidDirectColorDepth(boofcv.struct.pyramid.ImagePyramid<boofcv.struct.image.Planar<T>> pyramid) |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
estimateMotion(boofcv.struct.image.Planar<T> input) |
double |
getFractionInBounds() |
boofcv.struct.image.ImageType<boofcv.struct.image.Planar<T>> |
getInputType() |
boolean |
isFatalError() |
boolean |
process(boofcv.struct.image.Planar<T> input,
ImagePixelTo3D inputDepth) |
void |
reset() |
void |
setCameraParameters(float fx,
float fy,
float cx,
float cy,
int width,
int height) |
void |
setDiversityThreshold(double diversityThreshold) |
protected void |
setKeyFrame(boofcv.struct.image.Planar<T> input,
ImagePixelTo3D inputDepth) |
georegression.struct.se.Se3_F32 |
worldToCurrent() |
public PyramidDirectColorDepth(boofcv.struct.pyramid.ImagePyramid<boofcv.struct.image.Planar<T>> pyramid)
public void setCameraParameters(float fx,
float fy,
float cx,
float cy,
int width,
int height)
public boolean process(boofcv.struct.image.Planar<T> input, ImagePixelTo3D inputDepth)
protected void setKeyFrame(boofcv.struct.image.Planar<T> input, ImagePixelTo3D inputDepth)
protected boolean estimateMotion(boofcv.struct.image.Planar<T> input)
public boolean isFatalError()
public georegression.struct.se.Se3_F32 worldToCurrent()
public boofcv.struct.image.ImageType<boofcv.struct.image.Planar<T>> getInputType()
public void reset()
public void setDiversityThreshold(double diversityThreshold)
public double getFractionInBounds()