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

"Dual TV L1" オプティカルフロー Algorithm続き...

#include <opencv2/optflow.hpp>

Collaboration diagram for cv::optflow::DualTVL1OpticalFlow:

公開メンバ関数

virtual double getEpsilon () const =0
 数値スキームで使用される停止基準のしきい値。精度と実行時間のトレードオフとなる。
 
virtual double getGamma () const =0
 追加の照明変動項の係数
 
virtual int getInnerIterations () const =0
 数値スキームで使用される内部反復回数(外れ値フィルタリングの間)。
 
virtual double getLambda () const =0
 データ項に対する重み付け引数(attachment引数)。
 
virtual int getMedianFiltering () const =0
 メディアンフィルタのカーネルサイズ(1 = フィルタなし)(3 または 5)。
 
virtual int getOuterIterations () const =0
 数値計算スキームで用いる外側反復(内側ループの回数)。
 
virtual int getScalesNumber () const =0
 画像ピラミッドを生成するために用いるスケール数。
 
virtual double getScaleStep () const =0
 スケール間のステップ(<1)。
 
virtual double getTau () const =0
 数値計算スキームのタイムステップ。
 
virtual double getTheta () const =0
 (u - v)^2 に対する重み付け引数(tightness引数)。
 
virtual bool getUseInitialFlow () const =0
 初期フローを使用する。
 
virtual int getWarpingsNumber () const =0
 スケールあたりのワーピング回数。
 
virtual void setEpsilon (double val)=0
 数値スキームで使用される停止基準のしきい値。精度と実行時間のトレードオフとなる。
 
virtual void setGamma (double val)=0
 追加の照明変動項の係数
 
virtual void setInnerIterations (int val)=0
 数値スキームで使用される内部反復回数(外れ値フィルタリングの間)。
 
virtual void setLambda (double val)=0
 データ項に対する重み付け引数(attachment引数)。
 
virtual void setMedianFiltering (int val)=0
 メディアンフィルタのカーネルサイズ(1 = フィルタなし)(3 または 5)。
 
virtual void setOuterIterations (int val)=0
 数値計算スキームで用いる外側反復(内側ループの回数)。
 
virtual void setScalesNumber (int val)=0
 画像ピラミッドを生成するために用いるスケール数。
 
virtual void setScaleStep (double val)=0
 スケール間のステップ(<1)。
 
virtual void setTau (double val)=0
 数値計算スキームのタイムステップ。
 
virtual void setTheta (double val)=0
 (u - v)^2 に対する重み付け引数(tightness引数)。
 
virtual void setUseInitialFlow (bool val)=0
 初期フローを使用する。
 
virtual void setWarpingsNumber (int val)=0
 スケールあたりのワーピング回数。
 
- Public Member Functions inherited from cv::DenseOpticalFlow
virtual void calc (InputArray I0, InputArray I1, InputOutputArray flow)=0
 オプティカルフローを計算する。
 
virtual void collectGarbage ()=0
 すべての内部バッファを解放する。
 
- 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< DualTVL1OpticalFlowcreate (double tau=0.25, double lambda=0.15, double theta=0.3, int nscales=5, int warps=5, double epsilon=0.01, int innnerIterations=30, int outerIterations=10, double scaleStep=0.8, double gamma=0.0, int medianFiltering=5, bool useInitialFlow=false)
 cv::DualTVL1OpticalFlow のインスタンスを生成する。
 
- 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)
 ファイルノードからアルゴリズムを読み込む。
 

Additional Inherited Members

- Protected Member Functions inherited from cv::Algorithm
void writeFormat (FileStorage &fs) const
 

詳細説明

"Dual TV L1" オプティカルフロー Algorithm

このクラスは [319] および [240] で説明されている "Dual TV L1" オプティカルフローアルゴリズムを実装する。以下はアルゴリズムを制御するこのクラスの重要なメンバで、クラスインスタンスを構築した後に設定できる。

  • member double tau 数値計算スキームのタイムステップ。
  • member double lambda データ項に対する重み付け引数(attachment引数)。これは最も重要な引数であり、出力の滑らかさを決定する。この引数が小さいほど、得られる解はより滑らかになる。これは画像の動きの範囲に依存するため、その値は各画像シーケンスに合わせて調整すべきである。
  • member double theta (u - v)\^2 に対する重み付け引数(tightness引数)。attachment項と正則化項を結びつける役割を持つ。理論的には、両方の項を対応させて保つために小さな値を取るべきである。本手法はこの引数の広い範囲の値に対して安定である。
  • member int nscales 画像ピラミッドを生成するために用いるスケール数。
  • member int warps スケールあたりのワーピング回数。スケールごとに I1(x+u0) と grad( I1(x+u0) ) が計算される回数を表す。これは手法の安定性を保証する引数である。また実行時間にも影響するため、速度と精度のトレードオフとなる。
  • member double epsilon 数値計算スキームで用いる停止基準のしきい値。精度と実行時間のトレードオフとなる。小さい値ほど収束は遅くなるが、より正確な解が得られる。
  • member int iterations 数値計算スキームで用いる停止基準の反復回数。

C. Zach, T. Pock and H. Bischof, "A Duality Based Approach for Realtime TV-L1 Optical Flow". Javier Sanchez, Enric Meinhardt-Llopis and Gabriele Facciolo. "TV-L1 Optical Flow Estimation".

メンバ関数詳解

◆ create()

static Ptr< DualTVL1OpticalFlow > cv::optflow::DualTVL1OpticalFlow::create ( double tau = 0.25,
double lambda = 0.15,
double theta = 0.3,
int nscales = 5,
int warps = 5,
double epsilon = 0.01,
int innnerIterations = 30,
int outerIterations = 10,
double scaleStep = 0.8,
double gamma = 0.0,
int medianFiltering = 5,
bool useInitialFlow = false )
static
Python:
cv.optflow.DualTVL1OpticalFlow.create([, tau[, lambda_[, theta[, nscales[, warps[, epsilon[, innnerIterations[, outerIterations[, scaleStep[, gamma[, medianFiltering[, useInitialFlow]]]]]]]]]]]]) -> retval
cv.optflow.DualTVL1OpticalFlow_create([, tau[, lambda_[, theta[, nscales[, warps[, epsilon[, innnerIterations[, outerIterations[, scaleStep[, gamma[, medianFiltering[, useInitialFlow]]]]]]]]]]]]) -> retval

cv::DualTVL1OpticalFlow のインスタンスを生成する。

◆ getEpsilon()

virtual double cv::optflow::DualTVL1OpticalFlow::getEpsilon ( ) const
pure virtual
Python:
cv.optflow.DualTVL1OpticalFlow.getEpsilon() -> retval

数値計算スキームで用いる停止基準のしきい値。精度と実行時間のトレードオフとなる。

参照
setEpsilon

◆ getGamma()

virtual double cv::optflow::DualTVL1OpticalFlow::getGamma ( ) const
pure virtual
Python:
cv.optflow.DualTVL1OpticalFlow.getGamma() -> retval

追加の照明変動項に対する係数。

参照
setGamma

◆ getInnerIterations()

virtual int cv::optflow::DualTVL1OpticalFlow::getInnerIterations ( ) const
pure virtual
Python:
cv.optflow.DualTVL1OpticalFlow.getInnerIterations() -> retval

数値計算スキームで用いる内側反復(外れ値フィルタリングの間に行われる)。

参照
setInnerIterations

◆ getLambda()

virtual double cv::optflow::DualTVL1OpticalFlow::getLambda ( ) const
pure virtual
Python:
cv.optflow.DualTVL1OpticalFlow.getLambda() -> retval

データ項に対する重み付け引数(attachment引数)。

参照
setLambda

◆ getMedianFiltering()

virtual int cv::optflow::DualTVL1OpticalFlow::getMedianFiltering ( ) const
pure virtual
Python:
cv.optflow.DualTVL1OpticalFlow.getMedianFiltering() -> retval

メディアンフィルタのカーネルサイズ(1 = フィルタなし)(3 または 5)。

参照
setMedianFiltering

◆ getOuterIterations()

virtual int cv::optflow::DualTVL1OpticalFlow::getOuterIterations ( ) const
pure virtual
Python:
cv.optflow.DualTVL1OpticalFlow.getOuterIterations() -> retval

数値計算スキームで用いる外側反復(内側ループの回数)。

参照
setOuterIterations

◆ getScalesNumber()

virtual int cv::optflow::DualTVL1OpticalFlow::getScalesNumber ( ) const
pure virtual
Python:
cv.optflow.DualTVL1OpticalFlow.getScalesNumber() -> retval

画像ピラミッドを生成するために使用するスケールの数。

参照
setScalesNumber

◆ getScaleStep()

virtual double cv::optflow::DualTVL1OpticalFlow::getScaleStep ( ) const
pure virtual
Python:
cv.optflow.DualTVL1OpticalFlow.getScaleStep() -> retval

スケール間のステップ(<1)。

参照
setScaleStep

◆ getTau()

virtual double cv::optflow::DualTVL1OpticalFlow::getTau ( ) const
pure virtual
Python:
cv.optflow.DualTVL1OpticalFlow.getTau() -> retval

数値スキームの時間刻み幅。

参照
setTau

◆ getTheta()

virtual double cv::optflow::DualTVL1OpticalFlow::getTheta ( ) const
pure virtual
Python:
cv.optflow.DualTVL1OpticalFlow.getTheta() -> retval

(u - v)^2 に対する重み付け引数(tightness引数)。

参照
setTheta

◆ getUseInitialFlow()

virtual bool cv::optflow::DualTVL1OpticalFlow::getUseInitialFlow ( ) const
pure virtual
Python:
cv.optflow.DualTVL1OpticalFlow.getUseInitialFlow() -> retval

初期フローを使用する。

参照
setUseInitialFlow

◆ getWarpingsNumber()

virtual int cv::optflow::DualTVL1OpticalFlow::getWarpingsNumber ( ) const
pure virtual
Python:
cv.optflow.DualTVL1OpticalFlow.getWarpingsNumber() -> retval

スケールあたりのワーピング回数。

参照
setWarpingsNumber

◆ setEpsilon()

virtual void cv::optflow::DualTVL1OpticalFlow::setEpsilon ( double val)
pure virtual
Python:
cv.optflow.DualTVL1OpticalFlow.setEpsilon(val) -> None

数値計算スキームで用いる停止基準のしきい値。精度と実行時間のトレードオフとなる。

参照
getEpsilon

◆ setGamma()

virtual void cv::optflow::DualTVL1OpticalFlow::setGamma ( double val)
pure virtual
Python:
cv.optflow.DualTVL1OpticalFlow.setGamma(val) -> None

追加の照明変動項に対する係数。

参照
getGamma

◆ setInnerIterations()

virtual void cv::optflow::DualTVL1OpticalFlow::setInnerIterations ( int val)
pure virtual
Python:
cv.optflow.DualTVL1OpticalFlow.setInnerIterations(val) -> None

数値計算スキームで用いる内側反復(外れ値フィルタリングの間に行われる)。

参照
getInnerIterations

◆ setLambda()

virtual void cv::optflow::DualTVL1OpticalFlow::setLambda ( double val)
pure virtual
Python:
cv.optflow.DualTVL1OpticalFlow.setLambda(val) -> None

データ項に対する重み付け引数(attachment引数)。

参照
getLambda

◆ setMedianFiltering()

virtual void cv::optflow::DualTVL1OpticalFlow::setMedianFiltering ( int val)
pure virtual
Python:
cv.optflow.DualTVL1OpticalFlow.setMedianFiltering(val) -> None

メディアンフィルタのカーネルサイズ(1 = フィルタなし)(3 または 5)。

参照
getMedianFiltering

◆ setOuterIterations()

virtual void cv::optflow::DualTVL1OpticalFlow::setOuterIterations ( int val)
pure virtual
Python:
cv.optflow.DualTVL1OpticalFlow.setOuterIterations(val) -> None

数値計算スキームで用いる外側反復(内側ループの回数)。

参照
getOuterIterations

◆ setScalesNumber()

virtual void cv::optflow::DualTVL1OpticalFlow::setScalesNumber ( int val)
pure virtual
Python:
cv.optflow.DualTVL1OpticalFlow.setScalesNumber(val) -> None

画像ピラミッドを生成するために使用するスケールの数。

参照
getScalesNumber

◆ setScaleStep()

virtual void cv::optflow::DualTVL1OpticalFlow::setScaleStep ( double val)
pure virtual
Python:
cv.optflow.DualTVL1OpticalFlow.setScaleStep(val) -> None

スケール間のステップ(<1)。

参照
getScaleStep

◆ setTau()

virtual void cv::optflow::DualTVL1OpticalFlow::setTau ( double val)
pure virtual
Python:
cv.optflow.DualTVL1OpticalFlow.setTau(val) -> None

数値スキームの時間刻み幅。

参照
getTau

◆ setTheta()

virtual void cv::optflow::DualTVL1OpticalFlow::setTheta ( double val)
pure virtual
Python:
cv.optflow.DualTVL1OpticalFlow.setTheta(val) -> None

(u - v)^2 に対する重み付け引数(tightness引数)。

参照
getTheta

◆ setUseInitialFlow()

virtual void cv::optflow::DualTVL1OpticalFlow::setUseInitialFlow ( bool val)
pure virtual
Python:
cv.optflow.DualTVL1OpticalFlow.setUseInitialFlow(val) -> None

初期フローを使用する。

参照
getUseInitialFlow

◆ setWarpingsNumber()

virtual void cv::optflow::DualTVL1OpticalFlow::setWarpingsNumber ( int val)
pure virtual
Python:
cv.optflow.DualTVL1OpticalFlow.setWarpingsNumber(val) -> None

スケールあたりのワーピング回数。

参照
getWarpingsNumber

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