Package org.opencv.cv3d

## Class Odometry

- java.lang.Object
- - org.opencv.cv3d.Odometry

-     public class Odometry
      extends java.lang.Object

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected long` | `nativeObj` |

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `` | `Odometry()` |
    `` | `Odometry​(int otype)` |
    `` | `Odometry​(int otype, OdometrySettings settings, int algtype)` |
    `protected` | `Odometry​(long addr)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static Odometry` | `__fromPtr__​(long addr)` |
    `boolean` | `compute​(Mat srcDepth, Mat dstDepth, Mat Rt)` | Compute Rigid Transformation between two frames so that Rt * src = dst
    `boolean` | `compute​(Mat srcDepth, Mat srcRGB, Mat dstDepth, Mat dstRGB, Mat Rt)` | Compute Rigid Transformation between two frames so that Rt * src = dst
    `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
    `protected void` | `finalize()` |
    `long` | `getNativeObjAddr()` |
    `RgbdNormals` | `getNormalsComputer()` | Get the normals computer object used for normals calculation (if presented).
    `void` | `prepareFrame​(OdometryFrame frame)` | Prepare frame for odometry calculation
    `void` | `prepareFrames​(OdometryFrame srcFrame, OdometryFrame dstFrame)` | Prepare frame for odometry calculation

    - ### Methods inherited from class java.lang.Object

      `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 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`