OpenCV  4.10.0
Open Source Computer Vision
Loading...
Searching...
No Matches
cv::rgbd::ICPOdometry Class Reference

#include <opencv2/rgbd/depth.hpp>

Public Member Functions

 ICPOdometry ()
 ICPOdometry (const Mat &cameraMatrix, float minDepth=Odometry::DEFAULT_MIN_DEPTH(), float maxDepth=Odometry::DEFAULT_MAX_DEPTH(), float maxDepthDiff=Odometry::DEFAULT_MAX_DEPTH_DIFF(), float maxPointsPart=Odometry::DEFAULT_MAX_POINTS_PART(), const std::vector< int > &iterCounts=std::vector< int >(), int transformType=Odometry::RIGID_BODY_MOTION)
cv::Mat getCameraMatrix () const CV_OVERRIDE
cv::Mat getIterationCounts () const
double getMaxDepth () const
double getMaxDepthDiff () const
double getMaxPointsPart () const
double getMaxRotation () const
double getMaxTranslation () const
double getMinDepth () const
Ptr< RgbdNormalsgetNormalsComputer () const
int getTransformType () const CV_OVERRIDE
virtual Size prepareFrameCache (Ptr< OdometryFrame > &frame, int cacheType) const CV_OVERRIDE
void setCameraMatrix (const cv::Mat &val) CV_OVERRIDE
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 setTransformType (int val) CV_OVERRIDE
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, OutputArray Rt, const Mat &initRt=Mat()) const
bool compute (Ptr< OdometryFrame > &srcFrame, Ptr< OdometryFrame > &dstFrame, OutputArray Rt, const Mat &initRt=Mat()) const
Public Member Functions inherited from cv::Algorithm
 Algorithm ()
virtual ~Algorithm ()
virtual void clear ()
 Clears the algorithm state.
virtual bool empty () const
 Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read.
virtual String getDefaultName () const
virtual void read (const FileNode &fn)
 Reads algorithm parameters from a file storage.
virtual void save (const String &filename) const
void write (const Ptr< FileStorage > &fs, const String &name=String()) const
virtual void write (FileStorage &fs) const
 Stores algorithm parameters in a file storage.
void write (FileStorage &fs, const String &name) const

Static Public Member Functions

static Ptr< ICPOdometrycreate (const Mat &cameraMatrix=Mat(), float minDepth=Odometry::DEFAULT_MIN_DEPTH(), float maxDepth=Odometry::DEFAULT_MAX_DEPTH(), float maxDepthDiff=Odometry::DEFAULT_MAX_DEPTH_DIFF(), float maxPointsPart=Odometry::DEFAULT_MAX_POINTS_PART(), const std::vector< int > &iterCounts=std::vector< int >(), int transformType=Odometry::RIGID_BODY_MOTION)
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_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< _Tpload (const String &filename, const String &objname=String())
 Loads algorithm from the file.
template<typename _Tp>
static Ptr< _TploadFromString (const String &strModel, const String &objname=String())
 Loads algorithm from a String.
template<typename _Tp>
static Ptr< _Tpread (const FileNode &fn)
 Reads algorithm from the file node.

Protected Member Functions

virtual void checkParams () const CV_OVERRIDE
virtual bool computeImpl (const Ptr< OdometryFrame > &srcFrame, const Ptr< OdometryFrame > &dstFrame, OutputArray Rt, const Mat &initRt) const CV_OVERRIDE
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
Ptr< RgbdNormalsnormalsComputer
int transformType

Additional Inherited Members

Public Types inherited from cv::rgbd::Odometry
enum  {
  ROTATION = 1 ,
  TRANSLATION = 2 ,
  RIGID_BODY_MOTION = 4
}

Detailed Description

Odometry based on the paper "KinectFusion: Real-Time Dense Surface Mapping and Tracking", Richard A. Newcombe, Andrew Fitzgibbon, at al, SIGGRAPH, 2011.

Constructor & Destructor Documentation

◆ ICPOdometry() [1/2]

cv::rgbd::ICPOdometry::ICPOdometry ( )

◆ ICPOdometry() [2/2]

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

Constructor.

Parameters
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.
transformTypeClass of trasformation

Member Function Documentation

◆ checkParams()

virtual void cv::rgbd::ICPOdometry::checkParams ( ) const
protectedvirtual

Implements cv::rgbd::Odometry.

◆ computeImpl()

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

Implements cv::rgbd::Odometry.

◆ create()

Ptr< ICPOdometry > cv::rgbd::ICPOdometry::create ( const Mat & cameraMatrix = Mat(),
float minDepth = Odometry::DEFAULT_MIN_DEPTH(),
float maxDepth = Odometry::DEFAULT_MAX_DEPTH(),
float maxDepthDiff = Odometry::DEFAULT_MAX_DEPTH_DIFF(),
float maxPointsPart = Odometry::DEFAULT_MAX_POINTS_PART(),
const std::vector< int > & iterCounts = std::vector< int >(),
int transformType = Odometry::RIGID_BODY_MOTION )
static
Python:
cv.rgbd.ICPOdometry.create([, cameraMatrix[, minDepth[, maxDepth[, maxDepthDiff[, maxPointsPart[, iterCounts[, transformType]]]]]]]) -> retval
cv.rgbd.ICPOdometry_create([, cameraMatrix[, minDepth[, maxDepth[, maxDepthDiff[, maxPointsPart[, iterCounts[, transformType]]]]]]]) -> retval

◆ getCameraMatrix()

cv::Mat cv::rgbd::ICPOdometry::getCameraMatrix ( ) const
inlinevirtual
Python:
cv.rgbd.ICPOdometry.getCameraMatrix() -> retval
See also
setCameraMatrix

Implements cv::rgbd::Odometry.

◆ getIterationCounts()

cv::Mat cv::rgbd::ICPOdometry::getIterationCounts ( ) const
inline
Python:
cv.rgbd.ICPOdometry.getIterationCounts() -> retval

◆ getMaxDepth()

double cv::rgbd::ICPOdometry::getMaxDepth ( ) const
inline
Python:
cv.rgbd.ICPOdometry.getMaxDepth() -> retval

◆ getMaxDepthDiff()

double cv::rgbd::ICPOdometry::getMaxDepthDiff ( ) const
inline
Python:
cv.rgbd.ICPOdometry.getMaxDepthDiff() -> retval

◆ getMaxPointsPart()

double cv::rgbd::ICPOdometry::getMaxPointsPart ( ) const
inline
Python:
cv.rgbd.ICPOdometry.getMaxPointsPart() -> retval

◆ getMaxRotation()

double cv::rgbd::ICPOdometry::getMaxRotation ( ) const
inline
Python:
cv.rgbd.ICPOdometry.getMaxRotation() -> retval

◆ getMaxTranslation()

double cv::rgbd::ICPOdometry::getMaxTranslation ( ) const
inline
Python:
cv.rgbd.ICPOdometry.getMaxTranslation() -> retval

◆ getMinDepth()

double cv::rgbd::ICPOdometry::getMinDepth ( ) const
inline
Python:
cv.rgbd.ICPOdometry.getMinDepth() -> retval

◆ getNormalsComputer()

Ptr< RgbdNormals > cv::rgbd::ICPOdometry::getNormalsComputer ( ) const
inline
Python:
cv.rgbd.ICPOdometry.getNormalsComputer() -> retval

◆ getTransformType()

int cv::rgbd::ICPOdometry::getTransformType ( ) const
inlinevirtual
Python:
cv.rgbd.ICPOdometry.getTransformType() -> retval
See also
setTransformType

Implements cv::rgbd::Odometry.

◆ prepareFrameCache()

virtual Size cv::rgbd::ICPOdometry::prepareFrameCache ( Ptr< OdometryFrame > & frame,
int cacheType ) const
virtual
Python:
cv.rgbd.ICPOdometry.prepareFrameCache(frame, cacheType) -> retval

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
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::ICPOdometry::setCameraMatrix ( const cv::Mat & val)
inlinevirtual
Python:
cv.rgbd.ICPOdometry.setCameraMatrix(val) -> None

See also
getCameraMatrix

Implements cv::rgbd::Odometry.

◆ setIterationCounts()

void cv::rgbd::ICPOdometry::setIterationCounts ( const cv::Mat & val)
inline
Python:
cv.rgbd.ICPOdometry.setIterationCounts(val) -> None

◆ setMaxDepth()

void cv::rgbd::ICPOdometry::setMaxDepth ( double val)
inline
Python:
cv.rgbd.ICPOdometry.setMaxDepth(val) -> None

◆ setMaxDepthDiff()

void cv::rgbd::ICPOdometry::setMaxDepthDiff ( double val)
inline
Python:
cv.rgbd.ICPOdometry.setMaxDepthDiff(val) -> None

◆ setMaxPointsPart()

void cv::rgbd::ICPOdometry::setMaxPointsPart ( double val)
inline
Python:
cv.rgbd.ICPOdometry.setMaxPointsPart(val) -> None

◆ setMaxRotation()

void cv::rgbd::ICPOdometry::setMaxRotation ( double val)
inline
Python:
cv.rgbd.ICPOdometry.setMaxRotation(val) -> None

◆ setMaxTranslation()

void cv::rgbd::ICPOdometry::setMaxTranslation ( double val)
inline
Python:
cv.rgbd.ICPOdometry.setMaxTranslation(val) -> None

◆ setMinDepth()

void cv::rgbd::ICPOdometry::setMinDepth ( double val)
inline
Python:
cv.rgbd.ICPOdometry.setMinDepth(val) -> None

◆ setTransformType()

void cv::rgbd::ICPOdometry::setTransformType ( int val)
inlinevirtual
Python:
cv.rgbd.ICPOdometry.setTransformType(val) -> None

See also
getTransformType

Implements cv::rgbd::Odometry.

Member Data Documentation

◆ cameraMatrix

Mat cv::rgbd::ICPOdometry::cameraMatrix
protected

◆ iterCounts

Mat cv::rgbd::ICPOdometry::iterCounts
protected

◆ maxDepth

double cv::rgbd::ICPOdometry::maxDepth
protected

◆ maxDepthDiff

double cv::rgbd::ICPOdometry::maxDepthDiff
protected

◆ maxPointsPart

double cv::rgbd::ICPOdometry::maxPointsPart
protected

◆ maxRotation

double cv::rgbd::ICPOdometry::maxRotation
protected

◆ maxTranslation

double cv::rgbd::ICPOdometry::maxTranslation
protected

◆ minDepth

double cv::rgbd::ICPOdometry::minDepth
protected

◆ normalsComputer

Ptr<RgbdNormals> cv::rgbd::ICPOdometry::normalsComputer
mutableprotected

◆ transformType

int cv::rgbd::ICPOdometry::transformType
protected

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