OpenCV 4.13.0
Open Source Computer Vision
読み込み中...
検索中...
見つかりません
🤖 AIによる機械翻訳(非公式) — これは OpenCV 4.13.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は 公式英語版(原文) を参照してください。
cv::rgbd::FastICPOdometry クラス

#include <opencv2/rgbd/depth.hpp>

Collaboration diagram for 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
 
- Public Member Functions inherited from 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
 
- Public Member Functions inherited from 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 >())
 
- Static Public Member Functions inherited from 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 ()
 
- Static Public Member Functions inherited from 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
 
- Protected Member Functions inherited from cv::rgbd::Odometry
- Protected Member Functions inherited from cv::Algorithm
void writeFormat (FileStorage &fs) const
 

限定公開変数類

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

Additional Inherited Members

- Public Types inherited from cv::rgbd::Odometry
enum  {
  ROTATION = 1 ,
  TRANSLATION = 2 ,
  RIGID_BODY_MOTION = 4
}
 

詳細説明

KinectFusion の実装で使われる ICPOdometry の高速版。主な相違点の一覧:

  • 並列で動作する
  • universal intrinsics で記述されている
  • 角度で点をフィルタリングする
  • 点と法線を補間する
  • マスクや最小/最大ビット深度によるフィルタリングを使用しない
  • 点のランダムなサブセットを使用しない
  • Rt 変換タイプのみをサポートする
  • 入力型として4要素の float ベクトルのみをサポートする

構築子と解体子の詳解

◆ 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与えられた2つのフレームのピクセル間の対応は、ビット深度の差が 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 f)
inline
Python:
cv.rgbd.FastICPOdometry.setAngleThreshold(f) -> None

◆ setCameraMatrix()

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

参照
getCameraMatrix

cv::rgbd::Odometry を実装している。

◆ setIterationCounts()

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

◆ setKernelSize()

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

◆ setMaxDistDiff()

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

◆ setSigmaDepth()

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

◆ setSigmaSpatial()

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

◆ setTransformType()

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

参照
getTransformType

cv::rgbd::Odometry を実装している。

メンバ変数詳解

◆ 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

このクラス詳解は次のファイルから抽出されました: