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

DISオプティカルフローアルゴリズム。続き...

#include <opencv2/video/tracking.hpp>

Collaboration diagram for cv::DISOpticalFlow:

公開型

enum  {
  PRESET_ULTRAFAST = 0 ,
  PRESET_FAST = 1 ,
  PRESET_MEDIUM = 2
}
 

公開メンバ関数

virtual int getCoarsestScale () const =0
 最も粗いスケールを取得する。
 
virtual int getFinestScale () const =0
 フローを計算するガウシアンピラミッドの最も細かいレベル(レベル0は元の画像解像度に対応する)。最終的なフローはバイリニアのアップスケーリングで得られる。
 
virtual int getGradientDescentIterations () const =0
 パッチ逆探索段階における勾配降下の最大反復回数。値を大きくすると、場合によっては品質が向上することがある。
 
virtual int getPatchSize () const =0
 マッチング用の画像パッチのサイズ(ピクセル単位)。通常、デフォルトの8x8パッチでほとんどの場合に十分うまく機能する。
 
virtual int getPatchStride () const =0
 隣接するパッチ間のストライド。パッチサイズより小さくなければならない。値が小さいほどフローの品質が高くなる。
 
virtual bool getUseMeanNormalization () const =0
 パッチ距離を計算するときにパッチの平均正規化を使うかどうか。これはデフォルトで有効になっており、照明変化に対するロバスト性が高まることで通常は顕著な品質向上が得られる。シーケンスに照明の変化が一切含まれないと確信できる場合はオフにするとよい。
 
virtual bool getUseSpatialPropagation () const =0
 良好なオプティカルフローベクトルの空間伝播を使うかどうか。このオプションはデフォルトで有効になっており、平均的により良く機能する傾向があり、DISオプティカルフローアルゴリズムが採用する粗から密へのスキームによって生じる重大な誤りからの回復に役立つこともある。ただし、このオプションをオフにすると、出力されるフローフィールドが少し滑らかになることがある。
 
virtual float getVariationalRefinementAlpha () const =0
 平滑化項の重み。
 
virtual float getVariationalRefinementDelta () const =0
 色の恒常性項の重み。
 
virtual float getVariationalRefinementEpsilon () const =0
 ロバストペナライザのためのノルム値シフト。
 
virtual float getVariationalRefinementGamma () const =0
 勾配の恒常性項の重み。
 
virtual int getVariationalRefinementIterations () const =0
 スケールごとの変分リファインメントの不動点反復回数。0に設定すると変分リファインメントが完全に無効になる。値を大きくすると、通常はより滑らかで高品質なフローになる。
 
virtual void setCoarsestScale (int val)=0
 最も粗いスケールを設定する。
 
virtual void setFinestScale (int val)=0
 フローを計算するガウシアンピラミッドの最も細かいレベル(レベル0は元の画像解像度に対応する)。最終的なフローはバイリニアのアップスケーリングで得られる。
 
virtual void setGradientDescentIterations (int val)=0
 パッチ逆探索段階における勾配降下の最大反復回数。値を大きくすると、場合によっては品質が向上することがある。
 
virtual void setPatchSize (int val)=0
 マッチング用の画像パッチのサイズ(ピクセル単位)。通常、デフォルトの8x8パッチでほとんどの場合に十分うまく機能する。
 
virtual void setPatchStride (int val)=0
 隣接するパッチ間のストライド。パッチサイズより小さくなければならない。値が小さいほどフローの品質が高くなる。
 
virtual void setUseMeanNormalization (bool val)=0
 パッチ距離を計算するときにパッチの平均正規化を使うかどうか。これはデフォルトで有効になっており、照明変化に対するロバスト性が高まることで通常は顕著な品質向上が得られる。シーケンスに照明の変化が一切含まれないと確信できる場合はオフにするとよい。
 
virtual void setUseSpatialPropagation (bool val)=0
 良好なオプティカルフローベクトルの空間伝播を使うかどうか。このオプションはデフォルトで有効になっており、平均的により良く機能する傾向があり、DISオプティカルフローアルゴリズムが採用する粗から密へのスキームによって生じる重大な誤りからの回復に役立つこともある。ただし、このオプションをオフにすると、出力されるフローフィールドが少し滑らかになることがある。
 
virtual void setVariationalRefinementAlpha (float val)=0
 平滑化項の重み。
 
virtual void setVariationalRefinementDelta (float val)=0
 色の恒常性項の重み。
 
virtual void setVariationalRefinementEpsilon (float val)=0
 ロバストペナライザのためのノルム値シフト。
 
virtual void setVariationalRefinementGamma (float val)=0
 勾配の恒常性項の重み。
 
virtual void setVariationalRefinementIterations (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
 
virtual void write (FileStorage &fs) const
 アルゴリズムの引数をファイルストレージに保存する。
 
void write (FileStorage &fs, const String &name) const
 

静的公開メンバ関数

static Ptr< DISOpticalFlowcreate (int preset=DISOpticalFlow::PRESET_FAST)
 DISOpticalFlow のインスタンスを生成する。
 
- 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
 

詳細説明

DISオプティカルフローアルゴリズム。

このクラスは Dense Inverse Search (DIS) オプティカルフローアルゴリズムを実装する。アルゴリズムの詳細は [155] を参照。速度と品質のバランスを適切に取るために、あらかじめ選択された引数を持つ3つのプリセットが含まれている。ただし、最も遅いプリセットでも比較的高速であり、より良い品質が必要で速度を気にしない場合は DeepFlow を使用すること。

この実装は、論文で説明されているアルゴリズムと比べていくつかの追加機能を含む。フローベクトルの空間伝播(getUseSpatialPropagation)や、calc に渡される初期フロー近似を利用するオプション(これは本質的には、前フレームのフローフィールドが渡される場合の時間的伝播である)などである。

列挙型メンバ詳解

◆ anonymous enum

anonymous enum
列挙値
PRESET_ULTRAFAST 
PRESET_FAST 
PRESET_MEDIUM 

メンバ関数詳解

◆ create()

static Ptr< DISOpticalFlow > cv::DISOpticalFlow::create ( int preset = DISOpticalFlow::PRESET_FAST)
static
Python:
cv.DISOpticalFlow.create([, preset]) -> retval
cv.DISOpticalFlow_create([, preset]) -> retval

DISOpticalFlow のインスタンスを生成する。

引数
presetPRESET_ULTRAFAST、PRESET_FAST、PRESET_MEDIUM のいずれか

◆ getCoarsestScale()

virtual int cv::DISOpticalFlow::getCoarsestScale ( ) const
pure virtual
Python:
cv.DISOpticalFlow.getCoarsestScale() -> retval

最も粗いスケールを取得する。

◆ getFinestScale()

virtual int cv::DISOpticalFlow::getFinestScale ( ) const
pure virtual
Python:
cv.DISOpticalFlow.getFinestScale() -> retval

フローを計算するガウシアンピラミッドの最も細かいレベル(レベル0は元画像の解像度に対応する)。最終的なフローはバイリニア補間によるアップスケーリングで得られる。

参照
setFinestScale

◆ getGradientDescentIterations()

virtual int cv::DISOpticalFlow::getGradientDescentIterations ( ) const
pure virtual
Python:
cv.DISOpticalFlow.getGradientDescentIterations() -> retval

パッチ逆探索段階における勾配降下法の反復回数の最大値。値を大きくすると、場合によっては品質が向上することがある。

参照
setGradientDescentIterations

◆ getPatchSize()

virtual int cv::DISOpticalFlow::getPatchSize ( ) const
pure virtual
Python:
cv.DISOpticalFlow.getPatchSize() -> retval

マッチングに用いる画像パッチのサイズ(ピクセル単位)。通常、デフォルトの8x8パッチでほとんどの場合に十分良好に機能する。

参照
setPatchSize

◆ getPatchStride()

virtual int cv::DISOpticalFlow::getPatchStride ( ) const
pure virtual
Python:
cv.DISOpticalFlow.getPatchStride() -> retval

隣接するパッチ間のストライド。パッチサイズより小さくなければならない。値を小さくするほどフローの品質が高くなる。

参照
setPatchStride

◆ getUseMeanNormalization()

virtual bool cv::DISOpticalFlow::getUseMeanNormalization ( ) const
pure virtual
Python:
cv.DISOpticalFlow.getUseMeanNormalization() -> retval

パッチ距離を計算する際にパッチの平均正規化を使用するかどうか。これはデフォルトで有効になっており、照明変化に対するロバスト性が高まるため、通常は品質が目に見えて向上する。シーケンスに照明変化が一切含まれないことが確実な場合は、これを無効にするとよい。

参照
setUseMeanNormalization

◆ getUseSpatialPropagation()

virtual bool cv::DISOpticalFlow::getUseSpatialPropagation ( ) const
pure virtual
Python:
cv.DISOpticalFlow.getUseSpatialPropagation() -> retval

良好なオプティカルフローベクトルの空間的伝播を使用するかどうか。このオプションはデフォルトで有効になっており、平均的により良く機能する傾向があり、DISオプティカルフローアルゴリズムが採用する粗から細への手法によって生じる大きな誤差からの回復に役立つこともある。ただし、このオプションを無効にすると、出力されるフロー場が少し滑らかになることがある。

参照
setUseSpatialPropagation

◆ getVariationalRefinementAlpha()

virtual float cv::DISOpticalFlow::getVariationalRefinementAlpha ( ) const
pure virtual
Python:
cv.DISOpticalFlow.getVariationalRefinementAlpha() -> retval

平滑化項の重み。

参照
setVariationalRefinementAlpha

◆ getVariationalRefinementDelta()

virtual float cv::DISOpticalFlow::getVariationalRefinementDelta ( ) const
pure virtual
Python:
cv.DISOpticalFlow.getVariationalRefinementDelta() -> retval

色の恒常性項の重み。

参照
setVariationalRefinementDelta

◆ getVariationalRefinementEpsilon()

virtual float cv::DISOpticalFlow::getVariationalRefinementEpsilon ( ) const
pure virtual
Python:
cv.DISOpticalFlow.getVariationalRefinementEpsilon() -> retval

ロバストペナライザのためのノルム値シフト。

参照
setVariationalRefinementEpsilon

◆ getVariationalRefinementGamma()

virtual float cv::DISOpticalFlow::getVariationalRefinementGamma ( ) const
pure virtual
Python:
cv.DISOpticalFlow.getVariationalRefinementGamma() -> retval

勾配の恒常性項の重み。

参照
setVariationalRefinementGamma

◆ getVariationalRefinementIterations()

virtual int cv::DISOpticalFlow::getVariationalRefinementIterations ( ) const
pure virtual
Python:
cv.DISOpticalFlow.getVariationalRefinementIterations() -> retval

スケールごとの変分リファインメントの固定小数点反復回数。0に設定すると変分リファインメントを完全に無効にする。値を大きくすると、通常はより滑らかで高品質なフローが得られる。

参照
setGradientDescentIterations

◆ setCoarsestScale()

virtual void cv::DISOpticalFlow::setCoarsestScale ( int val)
pure virtual
Python:
cv.DISOpticalFlow.setCoarsestScale(val) -> None

最も粗いスケールを設定する。

引数
valフローを計算するガウシアンピラミッドの最も粗いレベル。-1に設定すると、自動計算された最も粗いスケールが使われる。

◆ setFinestScale()

virtual void cv::DISOpticalFlow::setFinestScale ( int val)
pure virtual
Python:
cv.DISOpticalFlow.setFinestScale(val) -> None

フローを計算するガウシアンピラミッドの最も細かいレベル(レベル0は元画像の解像度に対応する)。最終的なフローはバイリニア補間によるアップスケーリングで得られる。

参照
getFinestScale

◆ setGradientDescentIterations()

virtual void cv::DISOpticalFlow::setGradientDescentIterations ( int val)
pure virtual
Python:
cv.DISOpticalFlow.setGradientDescentIterations(val) -> None

パッチ逆探索段階における勾配降下法の反復回数の最大値。値を大きくすると、場合によっては品質が向上することがある。

参照
getGradientDescentIterations

◆ setPatchSize()

virtual void cv::DISOpticalFlow::setPatchSize ( int val)
pure virtual
Python:
cv.DISOpticalFlow.setPatchSize(val) -> None

マッチングに用いる画像パッチのサイズ(ピクセル単位)。通常、デフォルトの8x8パッチでほとんどの場合に十分良好に機能する。

参照
getPatchSize

◆ setPatchStride()

virtual void cv::DISOpticalFlow::setPatchStride ( int val)
pure virtual
Python:
cv.DISOpticalFlow.setPatchStride(val) -> None

隣接するパッチ間のストライド。パッチサイズより小さくなければならない。値を小さくするほどフローの品質が高くなる。

参照
getPatchStride

◆ setUseMeanNormalization()

virtual void cv::DISOpticalFlow::setUseMeanNormalization ( bool val)
pure virtual
Python:
cv.DISOpticalFlow.setUseMeanNormalization(val) -> None

パッチ距離を計算する際にパッチの平均正規化を使用するかどうか。これはデフォルトで有効になっており、照明変化に対するロバスト性が高まるため、通常は品質が目に見えて向上する。シーケンスに照明変化が一切含まれないことが確実な場合は、これを無効にするとよい。

参照
getUseMeanNormalization

◆ setUseSpatialPropagation()

virtual void cv::DISOpticalFlow::setUseSpatialPropagation ( bool val)
pure virtual
Python:
cv.DISOpticalFlow.setUseSpatialPropagation(val) -> None

良好なオプティカルフローベクトルの空間的伝播を使用するかどうか。このオプションはデフォルトで有効になっており、平均的により良く機能する傾向があり、DISオプティカルフローアルゴリズムが採用する粗から細への手法によって生じる大きな誤差からの回復に役立つこともある。ただし、このオプションを無効にすると、出力されるフロー場が少し滑らかになることがある。

参照
getUseSpatialPropagation

◆ setVariationalRefinementAlpha()

virtual void cv::DISOpticalFlow::setVariationalRefinementAlpha ( float val)
pure virtual
Python:
cv.DISOpticalFlow.setVariationalRefinementAlpha(val) -> None

平滑化項の重み。

参照
getVariationalRefinementAlpha

◆ setVariationalRefinementDelta()

virtual void cv::DISOpticalFlow::setVariationalRefinementDelta ( float val)
pure virtual
Python:
cv.DISOpticalFlow.setVariationalRefinementDelta(val) -> None

色の恒常性項の重み。

参照
getVariationalRefinementDelta

◆ setVariationalRefinementEpsilon()

virtual void cv::DISOpticalFlow::setVariationalRefinementEpsilon ( float val)
pure virtual
Python:
cv.DISOpticalFlow.setVariationalRefinementEpsilon(val) -> None

ロバストペナライザのためのノルム値シフト。

参照
getVariationalRefinementEpsilon

◆ setVariationalRefinementGamma()

virtual void cv::DISOpticalFlow::setVariationalRefinementGamma ( float val)
pure virtual
Python:
cv.DISOpticalFlow.setVariationalRefinementGamma(val) -> None

勾配の恒常性項の重み。

参照
getVariationalRefinementGamma

◆ setVariationalRefinementIterations()

virtual void cv::DISOpticalFlow::setVariationalRefinementIterations ( int val)
pure virtual
Python:
cv.DISOpticalFlow.setVariationalRefinementIterations(val) -> None

パッチ逆探索段階における勾配降下法の反復回数の最大値。値を大きくすると、場合によっては品質が向上することがある。

参照
getGradientDescentIterations

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