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

本類的文件生成自以下檔案: