Class Odometry


  • public class Odometry
    extends java.lang.Object
    • Field Detail

      • nativeObj

        protected final long nativeObj
    • Constructor Detail

      • Odometry

        protected Odometry​(long addr)
      • Odometry

        public Odometry()
      • Odometry

        public Odometry​(int otype)
      • Odometry

        public Odometry​(int otype,
                        OdometrySettings settings,
                        int algtype)
    • Method Detail

      • getNativeObjAddr

        public long getNativeObjAddr()
      • __fromPtr__

        public static Odometry __fromPtr__​(long addr)
      • prepareFrame

        public void prepareFrame​(OdometryFrame frame)
        Prepare frame for odometry calculation
        Parameters:
        frame - odometry prepare this frame as src frame and dst frame simultaneously
      • prepareFrames

        public void prepareFrames​(OdometryFrame srcFrame,
                                  OdometryFrame dstFrame)
        Prepare frame for odometry calculation
        Parameters:
        srcFrame - frame will be prepared as src frame ("original" image)
        dstFrame - frame will be prepared as dsr frame ("rotated" image)
      • compute

        public boolean compute​(OdometryFrame srcFrame,
                               OdometryFrame dstFrame,
                               Mat Rt)
        Compute Rigid Transformation between two frames so that Rt * src = dst Both frames, source and destination, should have been prepared by calling prepareFrame() first
        Parameters:
        srcFrame - src frame ("original" image)
        dstFrame - dst frame ("rotated" image)
        Rt - Rigid transformation, which will be calculated, in form: { R_11 R_12 R_13 t_1 R_21 R_22 R_23 t_2 R_31 R_32 R_33 t_3 0 0 0 1 }
        Returns:
        true on success, false if failed to find the transformation
      • compute

        public boolean compute​(Mat srcDepth,
                               Mat dstDepth,
                               Mat Rt)
        Compute Rigid Transformation between two frames so that Rt * src = dst
        Parameters:
        srcDepth - source depth ("original" image)
        dstDepth - destination depth ("rotated" image)
        Rt - Rigid transformation, which will be calculated, in form: { R_11 R_12 R_13 t_1 R_21 R_22 R_23 t_2 R_31 R_32 R_33 t_3 0 0 0 1 }
        Returns:
        true on success, false if failed to find the transformation
      • compute

        public boolean compute​(Mat srcDepth,
                               Mat srcRGB,
                               Mat dstDepth,
                               Mat dstRGB,
                               Mat Rt)
        Compute Rigid Transformation between two frames so that Rt * src = dst
        Parameters:
        srcDepth - source depth ("original" image)
        srcRGB - source RGB
        dstDepth - destination depth ("rotated" image)
        dstRGB - destination RGB
        Rt - Rigid transformation, which will be calculated, in form: { R_11 R_12 R_13 t_1 R_21 R_22 R_23 t_2 R_31 R_32 R_33 t_3 0 0 0 1 }
        Returns:
        true on success, false if failed to find the transformation
      • getNormalsComputer

        public RgbdNormals getNormalsComputer()
        Get the normals computer object used for normals calculation (if presented). The normals computer is generated at first need during prepareFrame when normals are required for the ICP algorithm but not presented by a user. Re-generated each time the related settings change or a new frame arrives with the different size.
        Returns:
        automatically generated
      • finalize

        protected void finalize()
                         throws java.lang.Throwable
        Overrides:
        finalize in class java.lang.Object
        Throws:
        java.lang.Throwable