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

#include <opencv2/rgbd/depth.hpp>

cv::rgbd::FastICPOdometry 协作图

公共成员函数

 FastICPOdometry ()
 
 FastICPOdometry (const Mat &cameraMatrix, float maxDistDiff=Odometry::DEFAULT_MAX_DEPTH_DIFF(), float angleThreshold=(float)(30. *CV_PI/180.), float sigmaDepth=0.04f, float sigmaSpatial=4.5f, int kernelSize=7, const std::vector< int > &iterCounts=std::vector< int >())
 
float getAngleThreshold () const
 
cv::Mat getCameraMatrix () const CV_OVERRIDE
 
cv::Mat getIterationCounts () const
 
int getKernelSize () const
 
double getMaxDistDiff () const
 
float getSigmaDepth () const
 
float getSigmaSpatial () const
 
int getTransformType () const CV_OVERRIDE
 
virtual Size prepareFrameCache (Ptr< OdometryFrame > &frame, int cacheType) const CV_OVERRIDE
 
void setAngleThreshold (float f)
 
void setCameraMatrix (const cv::Mat &val) CV_OVERRIDE
 
void setIterationCounts (const cv::Mat &val)
 
void setKernelSize (int f)
 
void setMaxDistDiff (float val)
 
void setSigmaDepth (float f)
 
void setSigmaSpatial (float f)
 
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< FastICPOdometrycreate (const Mat &cameraMatrix, float maxDistDiff=Odometry::DEFAULT_MAX_DEPTH_DIFF(), float angleThreshold=(float)(30. *CV_PI/180.), float sigmaDepth=0.04f, float sigmaSpatial=4.5f, int kernelSize=7, const std::vector< int > &iterCounts=std::vector< int >())
 
- 继承自 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
 

保护属性

float angleThreshold
 
Mat cameraMatrix
 
Mat iterCounts
 
int kernelSize
 
float maxDistDiff
 
float sigmaDepth
 
float sigmaSpatial
 

其他继承成员

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

详细描述

ICPOdometry 的一个更快版本,用于 KinectFusion 实现。部分差异列表:

  • 并行工作
  • 使用通用指令集编写
  • 按角度过滤点
  • 插值点和法线
  • 不使用掩码或最小/最大深度过滤
  • 不使用点的随机子集
  • 仅支持 Rt 变换类型
  • 仅支持 4 个浮点数向量作为输入类型

构造函数和析构函数文档

◆ FastICPOdometry() [1/2]

cv::rgbd::FastICPOdometry::FastICPOdometry ( )

◆ FastICPOdometry() [2/2]

cv::rgbd::FastICPOdometry::FastICPOdometry ( const Mat & cameraMatrix,
float maxDistDiff = Odometry::DEFAULT_MAX_DEPTH_DIFF(),
float angleThreshold = (float)(30. *CV_PI/180.),
float sigmaDepth = 0.04f,
float sigmaSpatial = 4.5f,
int kernelSize = 7,
const std::vector< int > & iterCounts = std::vector< int >() )

构造函数。

参数
cameraMatrix相机矩阵
maxDistDiff如果两个给定帧的像素之间的深度差大于 maxDepthDiff,则会过滤掉它们之间的对应关系。
angleThreshold如果其法线之间的角度大于阈值,则会过滤掉对应关系。
sigmaDepth用于双边平滑的深度 sigma(米)
sigmaSpatial用于双边平滑的空间 sigma(像素)
kernelSize用于双边平滑的内核大小(像素)
iterCounts每个金字塔级别上的迭代次数

成员函数文档

◆ checkParams()

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

实现 cv::rgbd::Odometry

◆ computeImpl()

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

实现 cv::rgbd::Odometry

◆ create()

static Ptr< FastICPOdometry > cv::rgbd::FastICPOdometry::create ( const Mat & cameraMatrix,
float maxDistDiff = Odometry::DEFAULT_MAX_DEPTH_DIFF(),
float angleThreshold = (float)(30. *CV_PI/180.),
float sigmaDepth = 0.04f,
float sigmaSpatial = 4.5f,
int kernelSize = 7,
const std::vector< int > & iterCounts = std::vector< int >() )
static
Python
cv.rgbd.FastICPOdometry.create(cameraMatrix[, maxDistDiff[, angleThreshold[, sigmaDepth[, sigmaSpatial[, kernelSize[, iterCounts]]]]]]) -> retval
cv.rgbd.FastICPOdometry_create(cameraMatrix[, maxDistDiff[, angleThreshold[, sigmaDepth[, sigmaSpatial[, kernelSize[, iterCounts]]]]]]) -> retval

◆ getAngleThreshold()

float cv::rgbd::FastICPOdometry::getAngleThreshold ( ) const
inline
Python
cv.rgbd.FastICPOdometry.getAngleThreshold() -> retval

◆ getCameraMatrix()

cv::Mat cv::rgbd::FastICPOdometry::getCameraMatrix ( ) const
inlinevirtual
Python
cv.rgbd.FastICPOdometry.getCameraMatrix() -> retval

◆ getIterationCounts()

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

◆ getKernelSize()

int cv::rgbd::FastICPOdometry::getKernelSize ( ) const
inline
Python
cv.rgbd.FastICPOdometry.getKernelSize() -> retval

◆ getMaxDistDiff()

double cv::rgbd::FastICPOdometry::getMaxDistDiff ( ) const
inline
Python
cv.rgbd.FastICPOdometry.getMaxDistDiff() -> retval

◆ getSigmaDepth()

float cv::rgbd::FastICPOdometry::getSigmaDepth ( ) const
inline
Python
cv.rgbd.FastICPOdometry.getSigmaDepth() -> retval

◆ getSigmaSpatial()

float cv::rgbd::FastICPOdometry::getSigmaSpatial ( ) const
inline
Python
cv.rgbd.FastICPOdometry.getSigmaSpatial() -> retval

◆ getTransformType()

int cv::rgbd::FastICPOdometry::getTransformType ( ) const
inlinevirtual
Python
cv.rgbd.FastICPOdometry.getTransformType() -> retval

◆ prepareFrameCache()

virtual 大小 cv::rgbd::FastICPOdometry::prepareFrameCache ( Ptr< OdometryFrame > & ,
int 缓存类型 ) const
virtual
Python
cv.rgbd.FastICPOdometry.prepareFrameCache(frame, cacheType) -> retval

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

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

cv::rgbd::Odometry 重新实现。

◆ setAngleThreshold()

void cv::rgbd::FastICPOdometry::setAngleThreshold ( float f)
inline
Python
cv.rgbd.FastICPOdometry.setAngleThreshold(f) ->

◆ setCameraMatrix()

void cv::rgbd::FastICPOdometry::setCameraMatrix ( const cv::Mat & val)
inlinevirtual
Python
cv.rgbd.FastICPOdometry.setCameraMatrix(val) ->

◆ setIterationCounts()

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

◆ setKernelSize()

void cv::rgbd::FastICPOdometry::setKernelSize ( int f)
inline
Python
cv.rgbd.FastICPOdometry.setKernelSize(f) ->

◆ setMaxDistDiff()

void cv::rgbd::FastICPOdometry::setMaxDistDiff ( float val)
inline
Python
cv.rgbd.FastICPOdometry.setMaxDistDiff(val) ->

◆ setSigmaDepth()

void cv::rgbd::FastICPOdometry::setSigmaDepth ( float f)
inline
Python
cv.rgbd.FastICPOdometry.setSigmaDepth(f) ->

◆ setSigmaSpatial()

void cv::rgbd::FastICPOdometry::setSigmaSpatial ( float f)
inline
Python
cv.rgbd.FastICPOdometry.setSigmaSpatial(f) ->

◆ setTransformType()

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

成员数据文档

◆ angleThreshold

float cv::rgbd::FastICPOdometry::angleThreshold
protected

◆ cameraMatrix

Mat cv::rgbd::FastICPOdometry::cameraMatrix
protected

◆ iterCounts

Mat cv::rgbd::FastICPOdometry::iterCounts
protected

◆ kernelSize

int cv::rgbd::FastICPOdometry::kernelSize
protected

◆ maxDistDiff

float cv::rgbd::FastICPOdometry::maxDistDiff
protected

◆ sigmaDepth

float cv::rgbd::FastICPOdometry::sigmaDepth
protected

◆ sigmaSpatial

float cv::rgbd::FastICPOdometry::sigmaSpatial
protected

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