| OpenCV 3.4.1 Open Source Computer Vision

Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
cv::rgbd::Odometry Class Referenceabstract
RGB-Depth Processing

`#include "rgbd.hpp"`

Inheritance diagram for cv::rgbd::Odometry:

## Public Types
enum | { ROTATION = 1, TRANSLATION = 2, RIGID_BODY_MOTION = 4 }

## Public Member Functions
bool | compute (const Mat &srcImage, const Mat &srcDepth, const Mat &srcMask, const Mat &dstImage, const Mat &dstDepth, const Mat &dstMask, OutputArray Rt, const Mat &initRt=Mat()) const
bool | compute (Ptr< OdometryFrame > &srcFrame, Ptr< OdometryFrame > &dstFrame, OutputArray Rt, const Mat &initRt=Mat()) const
virtual cv::Mat | getCameraMatrix () const =0
virtual int | getTransformType () const =0
virtual Size | prepareFrameCache (Ptr< OdometryFrame > &frame, int cacheType) const
virtual void | setCameraMatrix (const cv::Mat &val)=0
virtual void | setTransformType (int val)=0
Public Member Functions inherited from cv::Algorithm
| Algorithm ()
virtual | ~Algorithm ()
virtual void | clear ()
| Clears the algorithm state. More...
virtual bool | empty () const
| Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read. More...
virtual String | getDefaultName () const
virtual void | read (const FileNode &fn)
| Reads algorithm parameters from a file storage. More...
virtual void | save (const String &filename) const
virtual void | write (FileStorage &fs) const
| Stores algorithm parameters in a file storage. More...
void | write (const Ptr< FileStorage > &fs, const String &name=String()) const
| simplified API for language bindings This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...

## Static Public Member Functions
static Ptr< Odometry > | create (const String &odometryType)
static float | DEFAULT_MAX_DEPTH ()
static float | DEFAULT_MAX_DEPTH_DIFF ()
static float | DEFAULT_MAX_POINTS_PART ()
static float | DEFAULT_MAX_ROTATION ()
static float | DEFAULT_MAX_TRANSLATION ()
static float | DEFAULT_MIN_DEPTH ()
Static Public Member Functions inherited from cv::Algorithm
template<typename _Tp >
static Ptr< _Tp > | load (const String &filename, const String &objname=String())
| Loads algorithm from the file. More...
template<typename _Tp >
static Ptr< _Tp > | loadFromString (const String &strModel, const String &objname=String())
| Loads algorithm from a String. More...
template<typename _Tp >
static Ptr< _Tp > | read (const FileNode &fn)
| Reads algorithm from the file node. More...

## Protected Member Functions
virtual void | checkParams () const =0
virtual bool | computeImpl (const Ptr< OdometryFrame > &srcFrame, const Ptr< OdometryFrame > &dstFrame, OutputArray Rt, const Mat &initRt) const =0
Protected Member Functions inherited from cv::Algorithm
void | writeFormat (FileStorage &fs) const

## Detailed Description

Base class for computation of odometry.

## Member Enumeration Documentation

## § anonymous enum

anonymous enum

A class of transformation

Enumerator
ROTATION |
TRANSLATION |
RIGID_BODY_MOTION |

## Member Function Documentation

## § checkParams()

virtual void cv::rgbd::Odometry::checkParams | ( |  | ) | const
| protected pure virtual

Implemented in cv::rgbd::RgbdICPOdometry, cv::rgbd::ICPOdometry, and cv::rgbd::RgbdOdometry.

## § compute() [1/2]

bool cv::rgbd::Odometry::compute | ( | const Mat & | srcImage,
|  | const Mat & | srcDepth,
|  | const Mat & | srcMask,
|  | const Mat & | dstImage,
|  | const Mat & | dstDepth,
|  | const Mat & | dstMask,
|  | OutputArray | Rt,
|  | const Mat & | initRt = `Mat()`
| ) |  | const

Python:
| retval, Rt | = | cv.rgbd_Odometry.compute( | srcImage, srcDepth, srcMask, dstImage, dstDepth, dstMask[, Rt[, initRt]] | )
| retval, Rt | = | cv.rgbd_Odometry.compute2( | srcFrame, dstFrame[, Rt[, initRt]] | )

Method to compute a transformation from the source frame to the destination one. Some odometry algorithms do not used some data of frames (eg. ICP does not use images). In such case corresponding arguments can be set as empty Mat. The method returns true if all internal computions were possible (e.g. there were enough correspondences, system of equations has a solution, etc) and resulting transformation satisfies some test if it's provided by the Odometry inheritor implementation (e.g. thresholds for maximum translation and rotation).

Parameters

  srcImage | Image data of the source frame (CV_8UC1)
  srcDepth | Depth data of the source frame (CV_32FC1, in meters)
  srcMask | Mask that sets which pixels have to be used from the source frame (CV_8UC1)
  dstImage | Image data of the destination frame (CV_8UC1)
  dstDepth | Depth data of the destination frame (CV_32FC1, in meters)
  dstMask | Mask that sets which pixels have to be used from the destination frame (CV_8UC1)
  Rt | Resulting transformation from the source frame to the destination one (rigid body motion): dst_p = Rt * src_p, where dst_p is a homogeneous point in the destination frame and src_p is homogeneous point in the source frame, Rt is 4x4 matrix of CV_64FC1 type.
  initRt | Initial transformation from the source frame to the destination one (optional)

## § compute() [2/2]

bool cv::rgbd::Odometry::compute | ( | Ptr< OdometryFrame > & | srcFrame,
|  | Ptr< OdometryFrame > & | dstFrame,
|  | OutputArray | Rt,
|  | const Mat & | initRt = `Mat()`
| ) |  | const

Python:
| retval, Rt | = | cv.rgbd_Odometry.compute( | srcImage, srcDepth, srcMask, dstImage, dstDepth, dstMask[, Rt[, initRt]] | )
| retval, Rt | = | cv.rgbd_Odometry.compute2( | srcFrame, dstFrame[, Rt[, initRt]] | )

One more method to compute a transformation from the source frame to the destination one. It is designed to save on computing the frame data (image pyramids, normals, etc.).

## § computeImpl()

virtual bool cv::rgbd::Odometry::computeImpl | ( | const Ptr< OdometryFrame > & | srcFrame,
|  | const Ptr< OdometryFrame > & | dstFrame,
|  | OutputArray | Rt,
|  | const Mat & | initRt
| ) |  | const
| protected pure virtual

Implemented in cv::rgbd::RgbdICPOdometry, cv::rgbd::ICPOdometry, and cv::rgbd::RgbdOdometry.

## § create()

static Ptr<Odometry> cv::rgbd::Odometry::create | ( | const String & | odometryType | ) |
| static

Python:
| retval | = | cv.rgbd.Odometry_create( | odometryType | )

## § DEFAULT_MAX_DEPTH()

static float cv::rgbd::Odometry::DEFAULT_MAX_DEPTH | ( |  | ) |
| inline static

Python:
| retval | = | cv.rgbd_Odometry.DEFAULT_MAX_DEPTH( |  | )

## § DEFAULT_MAX_DEPTH_DIFF()

static float cv::rgbd::Odometry::DEFAULT_MAX_DEPTH_DIFF | ( |  | ) |
| inline static

Python:
| retval | = | cv.rgbd_Odometry.DEFAULT_MAX_DEPTH_DIFF( |  | )

## § DEFAULT_MAX_POINTS_PART()

static float cv::rgbd::Odometry::DEFAULT_MAX_POINTS_PART | ( |  | ) |
| inline static

Python:
| retval | = | cv.rgbd_Odometry.DEFAULT_MAX_POINTS_PART( |  | )

## § DEFAULT_MAX_ROTATION()

static float cv::rgbd::Odometry::DEFAULT_MAX_ROTATION | ( |  | ) |
| inline static

Python:
| retval | = | cv.rgbd_Odometry.DEFAULT_MAX_ROTATION( |  | )

## § DEFAULT_MAX_TRANSLATION()

static float cv::rgbd::Odometry::DEFAULT_MAX_TRANSLATION | ( |  | ) |
| inline static

Python:
| retval | = | cv.rgbd_Odometry.DEFAULT_MAX_TRANSLATION( |  | )

## § DEFAULT_MIN_DEPTH()

static float cv::rgbd::Odometry::DEFAULT_MIN_DEPTH | ( |  | ) |
| inline static

Python:
| retval | = | cv.rgbd_Odometry.DEFAULT_MIN_DEPTH( |  | )

## § getCameraMatrix()

virtual cv::Mat cv::rgbd::Odometry::getCameraMatrix | ( |  | ) | const
| pure virtual

Python:
| retval | = | cv.rgbd_Odometry.getCameraMatrix( |  | )

See also
  setCameraMatrix

Implemented in cv::rgbd::RgbdICPOdometry, cv::rgbd::ICPOdometry, and cv::rgbd::RgbdOdometry.

## § getTransformType()

virtual int cv::rgbd::Odometry::getTransformType | ( |  | ) | const
| pure virtual

Python:
| retval | = | cv.rgbd_Odometry.getTransformType( |  | )

See also
  setTransformType

Implemented in cv::rgbd::RgbdICPOdometry, cv::rgbd::ICPOdometry, and cv::rgbd::RgbdOdometry.

## § prepareFrameCache()

virtual Size cv::rgbd::Odometry::prepareFrameCache | ( | Ptr< OdometryFrame > & | frame,
|  | int | cacheType
| ) |  | const
| virtual

Python:
| retval | = | cv.rgbd_Odometry.prepareFrameCache( | frame, cacheType | )

Prepare a cache for the frame. The function checks the precomputed/passed data (throws the error if this data does not satisfy) and computes all remaining cache data needed for the frame. Returned size is a resolution of the prepared frame.

Parameters

  frame | The odometry which will process the frame.
  cacheType | The cache type: CACHE_SRC, CACHE_DST or CACHE_ALL.

Reimplemented in cv::rgbd::RgbdICPOdometry, cv::rgbd::ICPOdometry, and cv::rgbd::RgbdOdometry.

## § setCameraMatrix()

virtual void cv::rgbd::Odometry::setCameraMatrix | ( | const cv::Mat & | val | ) |
| pure virtual

Python:
| None | = | cv.rgbd_Odometry.setCameraMatrix( | val | )

See also
  getCameraMatrix

Implemented in cv::rgbd::RgbdICPOdometry, cv::rgbd::ICPOdometry, and cv::rgbd::RgbdOdometry.

## § setTransformType()

virtual void cv::rgbd::Odometry::setTransformType | ( | int | val | ) |
| pure virtual

Python:
| None | = | cv.rgbd_Odometry.setTransformType( | val | )

See also
  getTransformType

Implemented in cv::rgbd::RgbdICPOdometry, cv::rgbd::ICPOdometry, and cv::rgbd::RgbdOdometry.

The documentation for this class was generated from the following file:

- /build/master-contrib_docs-lin64/opencv_contrib/modules/rgbd/include/opencv2/rgbd.hpp