public class VisOdomMonoPlaneInfinity<T extends boofcv.struct.image.ImageBase<T>>
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
static class |
VisOdomMonoPlaneInfinity.VoTrack
Additional track information for use in motion estimation
|
| Constructor and Description |
|---|
VisOdomMonoPlaneInfinity(int thresholdAdd,
int thresholdRetire,
double thresholdPixelError,
org.ddogleg.fitting.modelset.ModelMatcher<georegression.struct.se.Se2_F64,PlanePtPixel> planeMotion,
boofcv.abst.feature.tracker.PointTracker<T> tracker)
Configures motion estimation.
|
| Modifier and Type | Method and Description |
|---|---|
georegression.struct.se.Se2_F64 |
getCurrToWorld2D()
Returns the 2D motion estimate
|
int |
getTick()
Number of frames processed
|
boofcv.abst.feature.tracker.PointTracker<T> |
getTracker() |
georegression.struct.se.Se3_F64 |
getWorldToCurr3D()
Converts 2D motion estimate into a 3D motion estimate
|
protected boolean |
isRotationFromAxisY(boofcv.abst.feature.tracker.PointTrack t,
georegression.struct.point.Vector3D_F64 pointing)
Checks for motion which can't be caused by rotations along the y-axis alone.
|
boolean |
isStrictFar() |
static double |
maximizeCountInSpread(double[] data,
int size,
double maxSpread)
Finds the value which has the largest number of points above and below it within the specified spread
|
boolean |
process(T image)
Estimates the motion which the camera undergoes relative to the first frame processed.
|
void |
reset()
Resets the algorithm into its initial state
|
void |
setExtrinsic(georegression.struct.se.Se3_F64 planeToCamera)
Camera the camera's extrinsic parameters.
|
void |
setIntrinsic(boofcv.struct.calib.CameraPinholeBrown intrinsic)
Camera the camera's intrinsic parameters.
|
void |
setStrictFar(boolean strictFar) |
public VisOdomMonoPlaneInfinity(int thresholdAdd,
int thresholdRetire,
double thresholdPixelError,
org.ddogleg.fitting.modelset.ModelMatcher<georegression.struct.se.Se2_F64,PlanePtPixel> planeMotion,
boofcv.abst.feature.tracker.PointTracker<T> tracker)
thresholdAdd - New points are spawned when the number of on plane inliers drops below this value.thresholdRetire - Tracks are dropped when they are not contained in the inlier set for this many frames
in a row. Try 2thresholdPixelError - Threshold used to determine inliers. Try 1.5planeMotion - Motion estimator for points on planetracker - Image feature trackerpublic void setIntrinsic(boofcv.struct.calib.CameraPinholeBrown intrinsic)
intrinsic - Intrinsic camera parameterspublic void setExtrinsic(georegression.struct.se.Se3_F64 planeToCamera)
planeToCamera - Transform from the plane to camera.public void reset()
public boolean process(T image)
image - Most recent camera image.protected boolean isRotationFromAxisY(boofcv.abst.feature.tracker.PointTrack t,
georegression.struct.point.Vector3D_F64 pointing)
pointing - Pointing vector of observation in plane reference framepublic int getTick()
public georegression.struct.se.Se2_F64 getCurrToWorld2D()
public georegression.struct.se.Se3_F64 getWorldToCurr3D()
public static double maximizeCountInSpread(double[] data,
int size,
double maxSpread)
data - Input data. Is modified by sortsize - number of elements in datamaxSpread - the spread it's going afterpublic boofcv.abst.feature.tracker.PointTracker<T> getTracker()
public boolean isStrictFar()
public void setStrictFar(boolean strictFar)