OpenCV453
公開型 | 公開メンバ関数 | 静的公開メンバ関数 | 公開変数類 | 限定公開メンバ関数 | 全メンバ一覧
cv::rgbd::Odometry クラスabstract

#include <depth.hpp>

cv::Algorithmを継承しています。

cv::rgbd::FastICPOdometry, cv::rgbd::ICPOdometry, cv::rgbd::RgbdICPOdometry, cv::rgbd::RgbdOdometryに継承されています。

公開型

enum  { ROTATION = 1 , TRANSLATION = 2 , RIGID_BODY_MOTION = 4 }
 

公開メンバ関数

CV_WRAP 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
 
 CV_WRAP_AS (compute2) bool compute(Ptr< OdometryFrame > &srcFrame
 
virtual CV_WRAP Size prepareFrameCache (Ptr< OdometryFrame > &frame, int cacheType) const
 
virtual CV_WRAP cv::Mat getCameraMatrix () const =0
 
virtual CV_WRAP void setCameraMatrix (const cv::Mat &val)=0
 
virtual CV_WRAP int getTransformType () const =0
 
virtual CV_WRAP void setTransformType (int val)=0
 
- 基底クラス cv::Algorithm に属する継承公開メンバ関数
virtual CV_WRAP void clear ()
 Clears the algorithm state [詳解]
 
virtual void write (FileStorage &fs) const
 Stores algorithm parameters in a file storage [詳解]
 
CV_WRAP void write (const Ptr< FileStorage > &fs, const String &name=String()) const
 simplified API for language bindings これはオーバーロードされたメンバ関数です。利便性のために用意されています。元の関数との違いは引き数のみです。
 
virtual CV_WRAP void read (const FileNode &fn)
 Reads algorithm parameters from a file storage [詳解]
 
virtual CV_WRAP bool empty () const
 Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read [詳解]
 
virtual CV_WRAP void save (const String &filename) const
 
virtual CV_WRAP String getDefaultName () const
 

静的公開メンバ関数

static CV_WRAP float DEFAULT_MIN_DEPTH ()
 
static CV_WRAP float DEFAULT_MAX_DEPTH ()
 
static CV_WRAP float DEFAULT_MAX_DEPTH_DIFF ()
 
static CV_WRAP float DEFAULT_MAX_POINTS_PART ()
 
static CV_WRAP float DEFAULT_MAX_TRANSLATION ()
 
static CV_WRAP float DEFAULT_MAX_ROTATION ()
 
static CV_WRAP Ptr< Odometrycreate (const String &odometryType)
 
- 基底クラス cv::Algorithm に属する継承静的公開メンバ関数
template<typename _Tp >
static Ptr< _Tp > read (const FileNode &fn)
 Reads algorithm from the file node [詳解]
 
template<typename _Tp >
static Ptr< _Tp > load (const String &filename, const String &objname=String())
 Loads algorithm from the file [詳解]
 
template<typename _Tp >
static Ptr< _Tp > loadFromString (const String &strModel, const String &objname=String())
 Loads algorithm from a String [詳解]
 

公開変数類

Ptr< OdometryFrame > & dstFrame
 
Ptr< OdometryFrame > OutputArray Rt
 
Ptr< OdometryFrame > OutputArray const MatinitRt = Mat()) const
 

限定公開メンバ関数

virtual void checkParams () const =0
 
virtual bool computeImpl (const Ptr< OdometryFrame > &srcFrame, const Ptr< OdometryFrame > &dstFrame, OutputArray Rt, const Mat &initRt) const =0
 
- 基底クラス cv::Algorithm に属する継承限定公開メンバ関数
void writeFormat (FileStorage &fs) const
 

詳解

Base class for computation of odometry.

列挙型メンバ詳解

◆ anonymous enum

anonymous enum

A class of transformation

関数詳解

◆ compute()

CV_WRAP 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

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 computations 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).

引数
srcImageImage data of the source frame (CV_8UC1)
srcDepthDepth data of the source frame (CV_32FC1, in meters)
srcMaskMask that sets which pixels have to be used from the source frame (CV_8UC1)
dstImageImage data of the destination frame (CV_8UC1)
dstDepthDepth data of the destination frame (CV_32FC1, in meters)
dstMaskMask that sets which pixels have to be used from the destination frame (CV_8UC1)
RtResulting 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.
initRtInitial transformation from the source frame to the destination one (optional)

◆ CV_WRAP_AS()

cv::rgbd::Odometry::CV_WRAP_AS ( compute2  ) &

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.).

◆ getCameraMatrix()

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

◆ getTransformType()

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

◆ prepareFrameCache()

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

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.

cv::rgbd::RgbdOdometry, cv::rgbd::ICPOdometry, cv::rgbd::RgbdICPOdometry, cv::rgbd::FastICPOdometryで再実装されています。

◆ setCameraMatrix()

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

◆ setTransformType()

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

このクラス詳解は次のファイルから抽出されました: