OpenCV 4.12.0
开源计算机视觉
加载中...
搜索中...
无匹配项
cv::rgbd::Odometry 类参考抽象

#include <opencv2/rgbd/depth.hpp>

cv::rgbd::Odometry 的协作图

公共类型

枚举  {
  旋转 = 1 ,
  平移 = 2 ,
  刚体运动 = 4
}
 

公共成员函数

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
 
- 继承自 cv::Algorithm 的公共成员函数
 Algorithm ()
 
virtual ~Algorithm ()
 
virtual void clear ()
 清除算法状态。
 
virtual bool empty () const
 如果 Algorithm 为空(例如,刚开始或读取不成功后),则返回 true。
 
virtual String getDefaultName () const
 
virtual void read (const FileNode &fn)
 从文件存储中读取算法参数。
 
virtual void save (const String &filename) const
 
void write (const Ptr< FileStorage > &fs, const String &name=String()) const
 
virtual void write (FileStorage &fs) const
 将算法参数存储到文件存储中。
 
void write (FileStorage &fs, const String &name) const
 

静态公共成员函数

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 ()
 
- 继承自 cv::Algorithm 的静态公共成员函数
template<typename _Tp >
static Ptr< _Tpload (const String &filename, const String &objname=String())
 从文件中加载算法。
 
template<typename _Tp >
static Ptr< _TploadFromString (const String &strModel, const String &objname=String())
 从字符串加载算法。
 
template<typename _Tp >
static Ptr< _Tpread (const FileNode &fn)
 从文件节点读取算法。
 

保护成员函数

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
 

详细描述

里程计计算的基类。

成员枚举文档

◆ 匿名枚举

匿名枚举

变换类型

枚举器
ROTATION 
TRANSLATION 
RIGID_BODY_MOTION 

成员函数文档

◆ checkParams()

virtual void cv::rgbd::Odometry::checkParams ( ) const
protected纯虚函数

◆ 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
cv.rgbd.Odometry.compute(srcImage, srcDepth, srcMask, dstImage, dstDepth, dstMask[, Rt[, initRt]]) -> retval, Rt
cv.rgbd.Odometry.compute2(srcFrame, dstFrame[, Rt[, initRt]]) -> retval, Rt

计算从源帧到目标帧的变换的方法。一些里程计算法不使用帧的某些数据(例如,ICP 不使用图像)。在这种情况下,相应参数可以设置为空 Mat。如果所有内部计算都可能(例如,存在足够的对应关系,方程组有解等),并且生成的变换满足 Odometry 继承者实现提供的一些测试(例如,最大平移和旋转的阈值),则该方法返回 true。

参数
srcImage源帧的图像数据 (CV_8UC1)
srcDepth源帧的深度数据 (CV_32FC1, 以米为单位)
srcMask设置要从源帧使用的像素的掩码 (CV_8UC1)
dstImage目标帧的图像数据 (CV_8UC1)
dstDepth目标帧的深度数据 (CV_32FC1, 以米为单位)
dstMask设置要从目标帧使用的像素的掩码 (CV_8UC1)
Rt从源帧到目标帧的最终变换(刚体运动):dst_p = Rt * src_p,其中 dst_p 是目标帧中的齐次点,src_p 是源帧中的齐次点,Rt 是 CV_64FC1 类型的 4x4 矩阵。
initRt从源帧到目标帧的初始变换(可选)

◆ compute() [2/2]

bool cv::rgbd::Odometry::compute ( Ptr< OdometryFrame > & srcFrame,
Ptr< OdometryFrame > & dstFrame,
OutputArray Rt,
const Mat & initRt = Mat() ) const
Python
cv.rgbd.Odometry.compute(srcImage, srcDepth, srcMask, dstImage, dstDepth, dstMask[, Rt[, initRt]]) -> retval, Rt
cv.rgbd.Odometry.compute2(srcFrame, dstFrame[, Rt[, initRt]]) -> retval, Rt

另一种计算从源帧到目标帧变换的方法。它旨在节省帧数据(图像金字塔、法线等)的计算。

◆ computeImpl()

virtual bool cv::rgbd::Odometry::computeImpl ( const Ptr< OdometryFrame > & srcFrame,
const Ptr< OdometryFrame > & dstFrame,
OutputArray Rt,
const Mat & initRt ) const
protected纯虚函数

◆ create()

static Ptr< Odometry > cv::rgbd::Odometry::create ( const String & odometryType)
static
Python
cv.rgbd.Odometry.create(odometryType) -> retval
cv.rgbd.Odometry_create(odometryType) -> retval

◆ DEFAULT_MAX_DEPTH()

static float cv::rgbd::Odometry::DEFAULT_MAX_DEPTH ( )
内联静态
Python
cv.rgbd.Odometry.DEFAULT_MAX_DEPTH() -> retval

◆ DEFAULT_MAX_DEPTH_DIFF()

static float cv::rgbd::Odometry::DEFAULT_MAX_DEPTH_DIFF ( )
内联静态
Python
cv.rgbd.Odometry.DEFAULT_MAX_DEPTH_DIFF() -> retval

◆ DEFAULT_MAX_POINTS_PART()

static float cv::rgbd::Odometry::DEFAULT_MAX_POINTS_PART ( )
内联静态
Python
cv.rgbd.Odometry.DEFAULT_MAX_POINTS_PART() -> retval

◆ DEFAULT_MAX_ROTATION()

static float cv::rgbd::Odometry::DEFAULT_MAX_ROTATION ( )
内联静态
Python
cv.rgbd.Odometry.DEFAULT_MAX_ROTATION() -> retval

◆ DEFAULT_MAX_TRANSLATION()

static float cv::rgbd::Odometry::DEFAULT_MAX_TRANSLATION ( )
内联静态
Python
cv.rgbd.Odometry.DEFAULT_MAX_TRANSLATION() -> retval

◆ DEFAULT_MIN_DEPTH()

static float cv::rgbd::Odometry::DEFAULT_MIN_DEPTH ( )
内联静态
Python
cv.rgbd.Odometry.DEFAULT_MIN_DEPTH() -> retval

◆ getCameraMatrix()

virtual cv::Mat cv::rgbd::Odometry::getCameraMatrix ( ) const
纯虚函数
Python
cv.rgbd.Odometry.getCameraMatrix() -> retval

◆ getTransformType()

virtual int cv::rgbd::Odometry::getTransformType ( ) const
纯虚函数
Python
cv.rgbd.Odometry.getTransformType() -> retval

◆ prepareFrameCache()

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

为帧准备缓存。该函数检查预计算/传递的数据(如果数据不满足要求则抛出错误)并计算帧所需的所有剩余缓存数据。返回的大小是准备好的帧的分辨率。

参数
frame将处理帧的里程计。
cacheType缓存类型:CACHE_SRC、CACHE_DST 或 CACHE_ALL。

cv::rgbd::FastICPOdometry, cv::rgbd::ICPOdometry, cv::rgbd::RgbdICPOdometrycv::rgbd::RgbdOdometry 中重新实现。

◆ setCameraMatrix()

virtual void cv::rgbd::Odometry::setCameraMatrix ( const cv::Mat & val)
纯虚函数
Python
cv.rgbd.Odometry.setCameraMatrix(val) ->

◆ setTransformType()

virtual void cv::rgbd::Odometry::setTransformType ( int val)
纯虚函数
Python
cv.rgbd.Odometry.setTransformType(val) ->

本类的文档生成自以下文件: