Interface MonocularVisualOdometry<T extends ImageBase<T>>

All Superinterfaces:
VerbosePrint, VisualOdometry<Se3_F64>

public interface MonocularVisualOdometry<T extends ImageBase<T>> extends VisualOdometry<Se3_F64>

Interface for visual odometry from a single camera that provides 6-DOF pose. The camera is assumed to be calibrated so that the "true" Euclidean motion can be extracted, up to a scale factor. Motion can only be found up to a scale factor because it is impossible to distinguish between a large motion and distant objects against a small motion and close objects when using a single camera.

Each time a new image arrives the function process(T) should be invoked and its return value checked. If false is returned then VisualOdometry.isFault() needs to be called to see if a fatal error occurred. If a fatal error occurred then the motion estimate has been reset relative to the first frame in which VisualOdometry.isFault() returns false.

  • Method Details

    • setIntrinsic

      void setIntrinsic(CameraPinholeBrown param)
      Specifies the intrinsic parameters for the camera.
      Parameters:
      param - Intrinsic parameters for camera
    • process

      boolean process(T input)
      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 then VisualOdometry.isFault() also needs to be checked to see if the pose estimate has been reset.
      Parameters:
      input - Next image in the sequence.
      Returns:
      If the motion estimate has been updated or not
    • getImageType

      ImageType<T> getImageType()
      Type of input images it can process.
      Returns:
      The image type