Package boofcv.abst.sfm.d3
Class MonoOverhead_to_MonocularPlaneVisualOdometry<T extends ImageBase<T>>
java.lang.Object
boofcv.abst.sfm.d3.MonoOverhead_to_MonocularPlaneVisualOdometry<T>
- All Implemented Interfaces:
AccessPointTracks
,AccessPointTracks3D
,MonocularPlaneVisualOdometry<T>
,VisualOdometry<Se3_F64>
,VerbosePrint
public class MonoOverhead_to_MonocularPlaneVisualOdometry<T extends ImageBase<T>>
extends Object
implements MonocularPlaneVisualOdometry<T>, AccessPointTracks3D
Wrapper around
VisOdomMonoOverheadMotion2D
for MonocularPlaneVisualOdometry
.-
Field Summary
Fields inherited from interface boofcv.abst.sfm.d3.VisualOdometry
VERBOSE_TRACKING
-
Constructor Summary
ConstructorDescriptionMonoOverhead_to_MonocularPlaneVisualOdometry
(VisOdomMonoOverheadMotion2D<T> alg, ImageType<T> imageType) -
Method Summary
Modifier and TypeMethodDescriptiongetAllTracks
(@Nullable List<Point2D_F64> storage) All the points being actively tracked in pixel coordinates.Returns the estimated motion relative to the first frame in which a fatal error does not happen.long
Returns the ID of the most recently processed frame.Type of input images it can process.int
Returns the total number of trackslong
getTrackId
(int index) Used to get the track ID of an active Trackvoid
getTrackPixel
(int index, Point2D_F64 pixel) Gets the observed coordinate of a feature in the input image.boolean
getTrackWorld3D
(int index, Point3D_F64 world) Returns the 3D location of the active track.boolean
isFault()
If a fatal error occurred while updating its state then this function will return true.boolean
isTrackInlier
(int index) True if the specified track is an inlier used in motion estimationboolean
isTrackNew
(int index) True if the specified track was just spawnedboolean
Process the new image and update the motion estimate.void
reset()
Forget past history and tracking results, returning it to its initial state.void
Specifies the camera's intrinsic and extrinsic parameters.void
setVerbose
(@Nullable PrintStream out, @Nullable Set<String> configuration)
-
Constructor Details
-
MonoOverhead_to_MonocularPlaneVisualOdometry
public MonoOverhead_to_MonocularPlaneVisualOdometry(VisOdomMonoOverheadMotion2D<T> alg, ImageType<T> imageType)
-
-
Method Details
-
setCalibration
Description copied from interface:MonocularPlaneVisualOdometry
Specifies the camera's intrinsic and extrinsic parameters. Can be changed at any time.- Specified by:
setCalibration
in interfaceMonocularPlaneVisualOdometry<T extends ImageBase<T>>
- Parameters:
param
- Camera calibration parameters
-
process
Description copied from interface:MonocularPlaneVisualOdometry
Process the new image and update the motion estimate. The return value must be checked to see if the estimate was actually updated. If false is returned thenVisualOdometry.isFault()
also needs to be checked to see if the pose estimate has been reset.- Specified by:
process
in interfaceMonocularPlaneVisualOdometry<T extends ImageBase<T>>
- Parameters:
input
- Next image in the sequence.- Returns:
- If the motion estimate has been updated or not
-
getImageType
Description copied from interface:MonocularPlaneVisualOdometry
Type of input images it can process.- Specified by:
getImageType
in interfaceMonocularPlaneVisualOdometry<T extends ImageBase<T>>
- Returns:
- The image type
-
reset
public void reset()Description copied from interface:VisualOdometry
Forget past history and tracking results, returning it to its initial state.- Specified by:
reset
in interfaceVisualOdometry<T extends ImageBase<T>>
-
isFault
public boolean isFault()Description copied from interface:VisualOdometry
If a fatal error occurred while updating its state then this function will return true. Before more images can be processedVisualOdometry.reset()
must be called. Only needs to be called if process returns false.- Specified by:
isFault
in interfaceVisualOdometry<T extends ImageBase<T>>
- Returns:
- true if a fatal error has occurred.
-
getCameraToWorld
Description copied from interface:VisualOdometry
Returns the estimated motion relative to the first frame in which a fatal error does not happen.- Specified by:
getCameraToWorld
in interfaceVisualOdometry<T extends ImageBase<T>>
- Returns:
- Found pose.
-
getFrameID
public long getFrameID()Description copied from interface:VisualOdometry
Returns the ID of the most recently processed frame. Starts at zero and increments with each call to process.- Specified by:
getFrameID
in interfaceVisualOdometry<T extends ImageBase<T>>
-
getTrackWorld3D
Description copied from interface:AccessPointTracks3D
Returns the 3D location of the active track.- Specified by:
getTrackWorld3D
in interfaceAccessPointTracks3D
- Parameters:
index
- The track's index in the active listworld
- The world coordinate of the track- Returns:
- true if there's a location estimate or false if there isn't
-
getTotalTracks
public int getTotalTracks()Description copied from interface:AccessPointTracks
Returns the total number of tracks- Specified by:
getTotalTracks
in interfaceAccessPointTracks
-
getTrackId
public long getTrackId(int index) Description copied from interface:AccessPointTracks
Used to get the track ID of an active Track- Specified by:
getTrackId
in interfaceAccessPointTracks
- Parameters:
index
- which track- Returns:
- The track's ID
-
getTrackPixel
Description copied from interface:AccessPointTracks
Gets the observed coordinate of a feature in the input image.- Specified by:
getTrackPixel
in interfaceAccessPointTracks
- Parameters:
index
- Which point in the listpixel
- Where the coordinate will be writen to.
-
getAllTracks
Description copied from interface:AccessPointTracks
All the points being actively tracked in pixel coordinates.- Specified by:
getAllTracks
in interfaceAccessPointTracks
- Returns:
- all active tracks in pixel coordinates
-
isTrackInlier
public boolean isTrackInlier(int index) Description copied from interface:AccessPointTracks
True if the specified track is an inlier used in motion estimation- Specified by:
isTrackInlier
in interfaceAccessPointTracks
- Parameters:
index
- The index in all- Returns:
- if it is an inlier or not
-
isTrackNew
public boolean isTrackNew(int index) Description copied from interface:AccessPointTracks
True if the specified track was just spawned- Specified by:
isTrackNew
in interfaceAccessPointTracks
- Parameters:
index
- The index in all- Returns:
- if it is new or not
-
setVerbose
public void setVerbose(@Nullable @Nullable PrintStream out, @Nullable @Nullable Set<String> configuration) - Specified by:
setVerbose
in interfaceVerbosePrint
-