OpenCV 4.12.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
 如果 演算法 為空(例如,在剛開始時或讀取不成功後),則返回 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 的公共型別
列舉  {
  旋轉 = 1 ,
  平移 = 2 ,
  剛體運動 = 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雙邊平滑的深度西格瑪(以米為單位)
sigmaSpatial雙邊平滑的空間西格瑪(以畫素為單位)
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
另請參見
setCameraMatrix

實現 cv::rgbd::Odometry

◆ 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
另請參見
setTransformType

實現 cv::rgbd::Odometry

◆ prepareFrameCache()

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

為幀準備快取。該函式檢查預計算/傳入的資料(如果資料不滿足則丟擲錯誤),並計算幀所需的所有剩餘快取資料。返回的大小是準備好的幀的解析度。

引數
frame將處理幀的里程計。
cacheType快取型別:CACHE_SRC、CACHE_DST 或 CACHE_ALL。

重新實現自 cv::rgbd::Odometry

◆ setAngleThreshold()

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

◆ setCameraMatrix()

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

另請參見
getCameraMatrix

實現 cv::rgbd::Odometry

◆ setIterationCounts()

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

◆ setKernelSize()

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

◆ setMaxDistDiff()

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

◆ setSigmaDepth()

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

◆ setSigmaSpatial()

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

◆ setTransformType()

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

另請參見
getTransformType

實現 cv::rgbd::Odometry

成員資料文件

◆ angleThreshold

float cv::rgbd::FastICPOdometry::angleThreshold
保護

◆ cameraMatrix

Mat cv::rgbd::FastICPOdometry::cameraMatrix
保護

◆ iterCounts

Mat cv::rgbd::FastICPOdometry::iterCounts
保護

◆ kernelSize

int cv::rgbd::FastICPOdometry::kernelSize
保護

◆ maxDistDiff

float cv::rgbd::FastICPOdometry::maxDistDiff
保護

◆ sigmaDepth

float cv::rgbd::FastICPOdometry::sigmaDepth
保護

◆ sigmaSpatial

float cv::rgbd::FastICPOdometry::sigmaSpatial
保護

此類的文件是從以下檔案生成的