OpenCV  3.2.0
Open Source Computer Vision
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
cv::rgbd::RgbdICPOdometry Class Reference

#include "rgbd.hpp"

Inheritance diagram for cv::rgbd::RgbdICPOdometry:
cv::rgbd::Odometry cv::Algorithm

Public Member Functions

 RgbdICPOdometry ()
 RgbdICPOdometry (const Mat &cameraMatrix, float minDepth=DEFAULT_MIN_DEPTH(), float maxDepth=DEFAULT_MAX_DEPTH(), float maxDepthDiff=DEFAULT_MAX_DEPTH_DIFF(), float maxPointsPart=DEFAULT_MAX_POINTS_PART(), const std::vector< int > &iterCounts=std::vector< int >(), const std::vector< float > &minGradientMagnitudes=std::vector< float >(), int transformType=RIGID_BODY_MOTION)
cv::Mat getCameraMatrix () const
cv::Mat getIterationCounts () const
double getMaxDepth () const
double getMaxDepthDiff () const
double getMaxPointsPart () const
double getMaxRotation () const
double getMaxTranslation () const
double getMinDepth () const
cv::Mat getMinGradientMagnitudes () const
Ptr< RgbdNormalsgetNormalsComputer () const
int getTransformType () const
virtual Size prepareFrameCache (Ptr< OdometryFrame > &frame, int cacheType) const
void setCameraMatrix (const cv::Mat &val)
void setIterationCounts (const cv::Mat &val)
void setMaxDepth (double val)
void setMaxDepthDiff (double val)
void setMaxPointsPart (double val)
void setMaxRotation (double val)
void setMaxTranslation (double val)
void setMinDepth (double val)
void setMinGradientMagnitudes (const cv::Mat &val)
void setTransformType (int val)
- Public Member Functions inherited from cv::rgbd::Odometry
bool compute (const Mat &srcImage, const Mat &srcDepth, const Mat &srcMask, const Mat &dstImage, const Mat &dstDepth, const Mat &dstMask, Mat &Rt, const Mat &initRt=Mat()) const
bool compute (Ptr< OdometryFrame > &srcFrame, Ptr< OdometryFrame > &dstFrame, Mat &Rt, const Mat &initRt=Mat()) const
- 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...

Protected Member Functions

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

Protected Attributes

Mat cameraMatrix
Mat iterCounts
double maxDepth
double maxDepthDiff
double maxPointsPart
double maxRotation
double maxTranslation
double minDepth
Mat minGradientMagnitudes
Ptr< RgbdNormalsnormalsComputer
int transformType

Additional Inherited Members

- Public Types inherited from cv::rgbd::Odometry
enum  {
- Static Public Member Functions inherited from cv::rgbd::Odometry
static Ptr< Odometrycreate (const String &odometryType)
static float DEFAULT_MAX_DEPTH ()
static float DEFAULT_MAX_DEPTH_DIFF ()
static float DEFAULT_MAX_ROTATION ()
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...

Detailed Description

Odometry that merges RgbdOdometry and ICPOdometry by minimize sum of their energy functions.

Constructor & Destructor Documentation

§ RgbdICPOdometry() [1/2]

cv::rgbd::RgbdICPOdometry::RgbdICPOdometry ( )

§ RgbdICPOdometry() [2/2]

cv::rgbd::RgbdICPOdometry::RgbdICPOdometry ( const Mat cameraMatrix,
float  minDepth = DEFAULT_MIN_DEPTH(),
float  maxDepth = DEFAULT_MAX_DEPTH(),
float  maxDepthDiff = DEFAULT_MAX_DEPTH_DIFF(),
float  maxPointsPart = DEFAULT_MAX_POINTS_PART(),
const std::vector< int > &  iterCounts = std::vector< int >(),
const std::vector< float > &  minGradientMagnitudes = std::vector< float >(),
int  transformType = RIGID_BODY_MOTION 


cameraMatrixCamera matrix
minDepthPixels with depth less than minDepth will not be used
maxDepthPixels with depth larger than maxDepth will not be used
maxDepthDiffCorrespondences between pixels of two given frames will be filtered out if their depth difference is larger than maxDepthDiff
maxPointsPartThe method uses a random pixels subset of size frameWidth x frameHeight x pointsPart
iterCountsCount of iterations on each pyramid level.
minGradientMagnitudesFor each pyramid level the pixels will be filtered out if they have gradient magnitude less than minGradientMagnitudes[level].
transformTypeClass of trasformation

Member Function Documentation

§ checkParams()

virtual void cv::rgbd::RgbdICPOdometry::checkParams ( ) const

Implements cv::rgbd::Odometry.

§ computeImpl()

virtual bool cv::rgbd::RgbdICPOdometry::computeImpl ( const Ptr< OdometryFrame > &  srcFrame,
const Ptr< OdometryFrame > &  dstFrame,
Mat Rt,
const Mat initRt 
) const

Implements cv::rgbd::Odometry.

§ getCameraMatrix()

cv::Mat cv::rgbd::RgbdICPOdometry::getCameraMatrix ( ) const
See also

Implements cv::rgbd::Odometry.

§ getIterationCounts()

cv::Mat cv::rgbd::RgbdICPOdometry::getIterationCounts ( ) const

§ getMaxDepth()

double cv::rgbd::RgbdICPOdometry::getMaxDepth ( ) const

§ getMaxDepthDiff()

double cv::rgbd::RgbdICPOdometry::getMaxDepthDiff ( ) const

§ getMaxPointsPart()

double cv::rgbd::RgbdICPOdometry::getMaxPointsPart ( ) const

§ getMaxRotation()

double cv::rgbd::RgbdICPOdometry::getMaxRotation ( ) const

§ getMaxTranslation()

double cv::rgbd::RgbdICPOdometry::getMaxTranslation ( ) const

§ getMinDepth()

double cv::rgbd::RgbdICPOdometry::getMinDepth ( ) const

§ getMinGradientMagnitudes()

cv::Mat cv::rgbd::RgbdICPOdometry::getMinGradientMagnitudes ( ) const

§ getNormalsComputer()

Ptr<RgbdNormals> cv::rgbd::RgbdICPOdometry::getNormalsComputer ( ) const

§ getTransformType()

int cv::rgbd::RgbdICPOdometry::getTransformType ( ) const
See also

Implements cv::rgbd::Odometry.

§ prepareFrameCache()

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

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.

frameThe odometry which will process the frame.
cacheTypeThe cache type: CACHE_SRC, CACHE_DST or CACHE_ALL.

Reimplemented from cv::rgbd::Odometry.

§ setCameraMatrix()

void cv::rgbd::RgbdICPOdometry::setCameraMatrix ( const cv::Mat val)

See also

Implements cv::rgbd::Odometry.

§ setIterationCounts()

void cv::rgbd::RgbdICPOdometry::setIterationCounts ( const cv::Mat val)

§ setMaxDepth()

void cv::rgbd::RgbdICPOdometry::setMaxDepth ( double  val)

§ setMaxDepthDiff()

void cv::rgbd::RgbdICPOdometry::setMaxDepthDiff ( double  val)

§ setMaxPointsPart()

void cv::rgbd::RgbdICPOdometry::setMaxPointsPart ( double  val)

§ setMaxRotation()

void cv::rgbd::RgbdICPOdometry::setMaxRotation ( double  val)

§ setMaxTranslation()

void cv::rgbd::RgbdICPOdometry::setMaxTranslation ( double  val)

§ setMinDepth()

void cv::rgbd::RgbdICPOdometry::setMinDepth ( double  val)

§ setMinGradientMagnitudes()

void cv::rgbd::RgbdICPOdometry::setMinGradientMagnitudes ( const cv::Mat val)

§ setTransformType()

void cv::rgbd::RgbdICPOdometry::setTransformType ( int  val)

See also

Implements cv::rgbd::Odometry.

Member Data Documentation

§ cameraMatrix

Mat cv::rgbd::RgbdICPOdometry::cameraMatrix

§ iterCounts

Mat cv::rgbd::RgbdICPOdometry::iterCounts

§ maxDepth

double cv::rgbd::RgbdICPOdometry::maxDepth

§ maxDepthDiff

double cv::rgbd::RgbdICPOdometry::maxDepthDiff

§ maxPointsPart

double cv::rgbd::RgbdICPOdometry::maxPointsPart

§ maxRotation

double cv::rgbd::RgbdICPOdometry::maxRotation

§ maxTranslation

double cv::rgbd::RgbdICPOdometry::maxTranslation

§ minDepth

double cv::rgbd::RgbdICPOdometry::minDepth

§ minGradientMagnitudes

Mat cv::rgbd::RgbdICPOdometry::minGradientMagnitudes

§ normalsComputer

Ptr<RgbdNormals> cv::rgbd::RgbdICPOdometry::normalsComputer

§ transformType

int cv::rgbd::RgbdICPOdometry::transformType

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