OpenCV 4.11.0
开源计算机视觉库
加载中…
搜索中…
未找到匹配项
cv::rgbd::RgbdOdometry 类参考

#include <opencv2/rgbd/depth.hpp>

cv::rgbd::RgbdOdometry 协作图

公共成员函数

 RgbdOdometry ()
 
 RgbdOdometry (const Mat &cameraMatrix, float minDepth=Odometry::DEFAULT_MIN_DEPTH(), float maxDepth=Odometry::DEFAULT_MAX_DEPTH(), float maxDepthDiff=Odometry::DEFAULT_MAX_DEPTH_DIFF(), const std::vector< int > &iterCounts=std::vector< int >(), const std::vector< float > &minGradientMagnitudes=std::vector< float >(), float maxPointsPart=Odometry::DEFAULT_MAX_POINTS_PART(), 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
 
cv::Mat getMinGradientMagnitudes () 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 setMinGradientMagnitudes (const cv::Mat &val)
 
void setTransformType (int val) CV_OVERRIDE
 
- 继承自 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
 
- 继承自 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< RgbdOdometrycreate (const Mat &cameraMatrix=Mat(), float minDepth=Odometry::DEFAULT_MIN_DEPTH(), float maxDepth=Odometry::DEFAULT_MAX_DEPTH(), float maxDepthDiff=Odometry::DEFAULT_MAX_DEPTH_DIFF(), const std::vector< int > &iterCounts=std::vector< int >(), const std::vector< float > &minGradientMagnitudes=std::vector< float >(), float maxPointsPart=Odometry::DEFAULT_MAX_POINTS_PART(), int transformType=Odometry::RIGID_BODY_MOTION)
 
- 继承自 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 ()
 
- 继承自 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 CV_OVERRIDE
 
virtual bool computeImpl (const Ptr< OdometryFrame > &srcFrame, const Ptr< OdometryFrame > &dstFrame, OutputArray Rt, const Mat &initRt) const CV_OVERRIDE
 
- 继承自 cv::rgbd::Odometry 的保护成员函数
- 继承自 cv::Algorithm 的保护成员函数
void writeFormat (FileStorage &fs) const
 

保护属性

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

其他继承成员

- 继承自 cv::rgbd::Odometry 的公有类型
枚举  {
  ROTATION = 1 ,
  TRANSLATION = 2 ,
  RIGID_BODY_MOTION = 4
}
 

详细描述

基于论文 "Real-Time Visual Odometry from Dense RGB-D Images", F. Steinbucker, J. Strum, D. Cremers, ICCV, 2011 的里程计。

构造函数和析构函数文档

◆ RgbdOdometry() [1/2]

cv::rgbd::RgbdOdometry::RgbdOdometry ( )

◆ RgbdOdometry() [2/2]

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

构造函数。

参数
cameraMatrix相机矩阵
minDepth深度小于 minDepth 的像素将不被使用(单位:米)
maxDepth深度大于 maxDepth 的像素将不被使用(单位:米)
maxDepthDiff如果两帧给定像素的深度差大于 maxDepthDiff,则对应的像素将被过滤掉(单位:米)
iterCounts每一金字塔层的迭代次数。
minGradientMagnitudes对于每一金字塔层,如果像素的梯度幅度小于 minGradientMagnitudes[level],则该像素将被过滤掉。
maxPointsPart该方法使用大小为 frameWidth x frameHeight x pointsPart 的随机像素子集。
transformType变换类型

成员函数文档

◆ checkParams()

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

实现 cv::rgbd::Odometry

◆ computeImpl()

virtual bool cv::rgbd::RgbdOdometry::computeImpl ( const Ptr< OdometryFrame > & srcFrame 源帧,
const Ptr< OdometryFrame > & dstFrame 目标帧,
OutputArray 输出数组 Rt 变换矩阵,
const Mat & initRt ) const 初始变换矩阵
protectedvirtual

◆ create()

static Ptr< RgbdOdometry > cv::rgbd::RgbdOdometry::create ( const Mat & cameraMatrix = Mat(),相机内参矩阵
float minDepth = Odometry::DEFAULT_MIN_DEPTH(),
float maxDepth = Odometry::DEFAULT_MAX_DEPTH(),
float maxDepthDiff = Odometry::DEFAULT_MAX_DEPTH_DIFF(),
const std::vector< int > & iterCounts = std::vector< int >(),
const std::vector< float > & minGradientMagnitudes = std::vector< float >(),
float maxPointsPart = Odometry::DEFAULT_MAX_POINTS_PART(),
int transformType = Odometry::RIGID_BODY_MOTION )
static 静态方法
Python
cv.rgbd.RgbdOdometry.create([, cameraMatrix[, minDepth[, maxDepth[, maxDepthDiff[, iterCounts[, minGradientMagnitudes[, maxPointsPart[, transformType]]]]]]]] [, 相机内参矩阵[, 最小深度[, 最大深度[, 最大深度差[, 迭代次数[, 最小梯度幅值[, 最大点数比例[, 变换类型]]]]]]]) -> retval 返回值
cv.rgbd.RgbdOdometry_create([, cameraMatrix[, minDepth[, maxDepth[, maxDepthDiff[, iterCounts[, minGradientMagnitudes[, maxPointsPart[, transformType]]]]]]]] [, 相机内参矩阵[, 最小深度[, 最大深度[, 最大深度差[, 迭代次数[, 最小梯度幅值[, 最大点数比例[, 变换类型]]]]]]]) -> retval 返回值

◆ getCameraMatrix()

cv::Mat cv::rgbd::RgbdOdometry::getCameraMatrix ( ) const
inlinevirtual 内联虚函数
Python
cv.rgbd.RgbdOdometry.getCameraMatrix() -> retval 返回值

◆ getIterationCounts()

cv::Mat cv::rgbd::RgbdOdometry::getIterationCounts ( ) const
inline 内联函数
Python
cv.rgbd.RgbdOdometry.getIterationCounts() -> retval 返回值

◆ getMaxDepth()

double cv::rgbd::RgbdOdometry::getMaxDepth ( ) const
inline 内联函数
Python
cv.rgbd.RgbdOdometry.getMaxDepth() -> retval 返回值

◆ getMaxDepthDiff()

double cv::rgbd::RgbdOdometry::getMaxDepthDiff ( ) const
inline 内联函数
Python
cv.rgbd.RgbdOdometry.getMaxDepthDiff() -> retval 返回值

◆ getMaxPointsPart()

double cv::rgbd::RgbdOdometry::getMaxPointsPart ( ) const
inline 内联函数
Python
cv.rgbd.RgbdOdometry.getMaxPointsPart() -> retval 返回值

◆ getMaxRotation()

double cv::rgbd::RgbdOdometry::getMaxRotation ( ) const
inline 内联函数
Python
cv.rgbd.RgbdOdometry.getMaxRotation() -> retval 返回值

◆ getMaxTranslation()

double cv::rgbd::RgbdOdometry::getMaxTranslation ( ) const
inline 内联函数
Python
cv.rgbd.RgbdOdometry.getMaxTranslation() -> retval 返回值

◆ getMinDepth()

double cv::rgbd::RgbdOdometry::getMinDepth ( ) const
inline 内联函数
Python
cv.rgbd.RgbdOdometry.getMinDepth() -> retval 返回值

◆ getMinGradientMagnitudes()

cv::Mat cv::rgbd::RgbdOdometry::getMinGradientMagnitudes ( ) const
inline 内联函数
Python
cv.rgbd.RgbdOdometry.getMinGradientMagnitudes() -> retval 返回值

◆ getTransformType()

int cv::rgbd::RgbdOdometry::getTransformType ( ) const
inlinevirtual 内联虚函数
Python
cv.rgbd.RgbdOdometry.getTransformType() -> retval 返回值

◆ prepareFrameCache()

virtual Size cv::rgbd::RgbdOdometry::prepareFrameCache ( Ptr< OdometryFrame > & frame 帧,
int cacheType ) const 缓存类型
virtual 虚函数
Python
cv.rgbd.RgbdOdometry.prepareFrameCache(frame, cacheType) -> retval 返回值

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

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

cv::rgbd::Odometry 重实现。

◆ setCameraMatrix()

void cv::rgbd::RgbdOdometry::setCameraMatrix ( const cv::Mat & val 值)
inlinevirtual 内联虚函数
Python
cv.rgbd.RgbdOdometry.setCameraMatrix(val 值) -> None 空值

◆ setIterationCounts()

void cv::rgbd::RgbdOdometry::setIterationCounts ( const cv::Mat & val 值)
inline 内联函数
Python
cv.rgbd.RgbdOdometry.setIterationCounts(val 值) -> None 空值

◆ setMaxDepth()

void cv::rgbd::RgbdOdometry::setMaxDepth ( double 双精度浮点数 val 值)
inline 内联函数
Python
cv.rgbd.RgbdOdometry.setMaxDepth(val 值) -> None 空值

◆ setMaxDepthDiff()

void cv::rgbd::RgbdOdometry::setMaxDepthDiff ( double 双精度浮点数 val 值)
inline 内联函数
Python
cv.rgbd.RgbdOdometry.setMaxDepthDiff(val 值) -> None 空值

◆ setMaxPointsPart()

void cv::rgbd::RgbdOdometry::setMaxPointsPart ( double 双精度浮点数 val 值)
inline 内联函数
Python
cv.rgbd.RgbdOdometry.setMaxPointsPart(val 值) -> None 空值

◆ setMaxRotation()

void cv::rgbd::RgbdOdometry::setMaxRotation ( double 双精度浮点数 val 值)
inline 内联函数
Python
cv.rgbd.RgbdOdometry.setMaxRotation(val 值) -> None 空值

◆ setMaxTranslation()

void cv::rgbd::RgbdOdometry::setMaxTranslation ( double 双精度浮点数 val 值)
inline 内联函数
Python
cv.rgbd.RgbdOdometry.setMaxTranslation(val 值) -> None 空值

◆ setMinDepth()

void cv::rgbd::RgbdOdometry::setMinDepth ( double 双精度浮点数 val 值)
inline 内联函数
Python
cv.rgbd.RgbdOdometry.setMinDepth(val 值) -> None 空值

◆ setMinGradientMagnitudes()

void cv::rgbd::RgbdOdometry::setMinGradientMagnitudes ( const cv::Mat & val 值)
inline 内联函数
Python
cv.rgbd.RgbdOdometry.setMinGradientMagnitudes(val 值) -> None 空值

◆ setTransformType()

void cv::rgbd::RgbdOdometry::setTransformType ( int val 值)
inlinevirtual 内联虚函数
Python
cv.rgbd.RgbdOdometry.setTransformType(val 值) -> None 空值

成员数据文档

◆ cameraMatrix

Mat cv::rgbd::RgbdOdometry::cameraMatrix 相机内参矩阵
protected 保护成员

◆ iterCounts

Mat cv::rgbd::RgbdOdometry::iterCounts 迭代次数
protected 保护成员

◆ maxDepth

double cv::rgbd::RgbdOdometry::maxDepth 最大深度
protected 保护成员

◆ maxDepthDiff

double cv::rgbd::RgbdOdometry::maxDepthDiff 最大深度差
protected 保护成员

◆ maxPointsPart

double cv::rgbd::RgbdOdometry::maxPointsPart 最大点数比例
protected 保护成员

◆ maxRotation

double cv::rgbd::RgbdOdometry::maxRotation 最大旋转角度
protected 保护成员

◆ maxTranslation

double cv::rgbd::RgbdOdometry::maxTranslation 最大平移距离
protected 保护成员

◆ minDepth

double cv::rgbd::RgbdOdometry::minDepth 最小深度
protected 保护成员

◆ minGradientMagnitudes

Mat cv::rgbd::RgbdOdometry::minGradientMagnitudes 最小梯度幅值
protected 保护成员

◆ transformType

int cv::rgbd::RgbdOdometry::transformType 变换类型
protected 保护成员

此类的文档是从以下文件生成的: