OpenCV 4.11.0
开源计算机视觉
加载中…
搜索中…
无匹配项
cv::rgbd::ICPOdometry 类参考

#include <opencv2/rgbd/depth.hpp>

cv::rgbd::ICPOdometry 协作图

公有成员函数

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

保护成员函数

virtual void 检查参数 () const CV_OVERRIDE
 
virtual bool 计算实现 (const Ptr< OdometryFrame > &srcFrame, const Ptr< OdometryFrame > &dstFrame, OutputArray Rt, const Mat &initRt) const CV_OVERRIDE
 
- 继承自 cv::rgbd::Odometry 的保护成员函数
- 继承自 cv::Algorithm 的保护成员函数
void 写入格式 (FileStorage &fs) const
 

保护属性

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

其他继承成员

- 继承自 cv::rgbd::Odometry 的公有类型
枚举 {
  旋转 = 1 ,
  平移 = 2 ,
  刚体运动 = 4
}
 

详细描述

基于论文 "KinectFusion: Real-Time Dense Surface Mapping and Tracking" 的里程计,作者 Richard A. Newcombe, Andrew Fitzgibbon 等,SIGGRAPH,2011。

构造函数和析构函数文档

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

构造函数。

参数
cameraMatrix相机矩阵
minDepth深度小于 minDepth 的像素将不会被使用
maxDepth深度大于 maxDepth 的像素将不会被使用
maxDepthDiff如果两个给定帧的像素之间的深度差大于 maxDepthDiff,则对应的像素将被滤除
maxPointsPart该方法使用大小为 frameWidth x frameHeight x pointsPart 的随机像素子集
iterCounts每个金字塔级别的迭代次数。
transformType变换类型

成员函数文档

◆ checkParams()

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

◆ computeImpl()

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

◆ create()

static 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 )
静态
Python
cv.rgbd.ICPOdometry.create([, cameraMatrix[, minDepth[, maxDepth[, maxDepthDiff[, maxPointsPart[, iterCounts[, transformType]]]]]]]) -> 返回值
cv.rgbd.ICPOdometry_create([, cameraMatrix[, minDepth[, maxDepth[, maxDepthDiff[, maxPointsPart[, iterCounts[, transformType]]]]]]]) -> 返回值

◆ getCameraMatrix()

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

◆ getIterationCounts()

cv::Mat cv::rgbd::ICPOdometry::getIterationCounts ( ) const
内联
Python
cv.rgbd.ICPOdometry.getIterationCounts() -> 返回值

◆ getMaxDepth()

double cv::rgbd::ICPOdometry::getMaxDepth ( ) const
内联
Python
cv.rgbd.ICPOdometry.getMaxDepth() -> 返回值

◆ getMaxDepthDiff()

double cv::rgbd::ICPOdometry::getMaxDepthDiff ( ) const
内联
Python
cv.rgbd.ICPOdometry.getMaxDepthDiff() -> 返回值

◆ getMaxPointsPart()

double cv::rgbd::ICPOdometry::getMaxPointsPart ( ) const
内联
Python
cv.rgbd.ICPOdometry.getMaxPointsPart() -> 返回值

◆ getMaxRotation()

double cv::rgbd::ICPOdometry::getMaxRotation ( ) const
内联
Python
cv.rgbd.ICPOdometry.getMaxRotation() -> 返回值

◆ getMaxTranslation()

double cv::rgbd::ICPOdometry::getMaxTranslation ( ) const
内联
Python
cv.rgbd.ICPOdometry.getMaxTranslation() -> 返回值

◆ getMinDepth()

double cv::rgbd::ICPOdometry::getMinDepth ( ) const
内联
Python
cv.rgbd.ICPOdometry.getMinDepth() -> 返回值

◆ getNormalsComputer()

Ptr< RgbdNormals > cv::rgbd::ICPOdometry::getNormalsComputer ( ) const
内联
Python
cv.rgbd.ICPOdometry.getNormalsComputer() -> 返回值

◆ getTransformType()

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

◆ prepareFrameCache()

virtual Size cv::rgbd::ICPOdometry::prepareFrameCache ( Ptr< OdometryFrame > & frame,
int cacheType ) const
虚函数
Python
cv.rgbd.ICPOdometry.prepareFrameCache(frame, cacheType) -> 返回值

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

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

cv::rgbd::Odometry 重实现。

◆ setCameraMatrix()

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

◆ setIterationCounts()

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

◆ setMaxDepth()

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

◆ setMaxDepthDiff()

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

◆ setMaxPointsPart()

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

◆ setMaxRotation()

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

◆ setMaxTranslation()

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

◆ setMinDepth()

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

◆ setTransformType()

void cv::rgbd::ICPOdometry::setTransformType ( int val)
内联虚函数
Python
cv.rgbd.ICPOdometry.setTransformType(val) -> None

成员数据文档

◆ cameraMatrix

Mat cv::rgbd::ICPOdometry::cameraMatrix
保护

◆ iterCounts

Mat cv::rgbd::ICPOdometry::iterCounts
保护

◆ maxDepth

double cv::rgbd::ICPOdometry::maxDepth
保护

◆ maxDepthDiff

double cv::rgbd::ICPOdometry::maxDepthDiff
保护

◆ maxPointsPart

double cv::rgbd::ICPOdometry::maxPointsPart
保护

◆ maxRotation

double cv::rgbd::ICPOdometry::maxRotation
保护

◆ maxTranslation

double cv::rgbd::ICPOdometry::maxTranslation
保护

◆ minDepth

double cv::rgbd::ICPOdometry::minDepth
保护

◆ normalsComputer

Ptr<RgbdNormals> cv::rgbd::ICPOdometry::normalsComputer
可变保护

◆ transformType

int cv::rgbd::ICPOdometry::transformType
保护

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