OpenCV 4.12.0
開源計算機視覺
載入中...
搜尋中...
無匹配項
cv::cuda::OpticalFlowDual_TVL1 類參考abstract

Zach、Pock 和 Bischof Dual TV-L1 光流方法的實現。更多...

#include <opencv2/cudaoptflow.hpp>

cv::cuda::OpticalFlowDual_TVL1 的協作圖

公共成員函式

virtual double getEpsilon () const =0
 
virtual double getGamma () const =0
 
virtual double getLambda () const =0
 
virtual int getNumIterations () const =0
 
virtual int getNumScales () const =0
 
virtual int getNumWarps () const =0
 
virtual double getScaleStep () const =0
 
virtual double getTau () const =0
 
virtual double getTheta () const =0
 
virtual bool getUseInitialFlow () const =0
 
virtual void setEpsilon (double epsilon)=0
 
virtual void setGamma (double gamma)=0
 
virtual void setLambda (double lambda)=0
 
virtual void setNumIterations (int iterations)=0
 
virtual void setNumScales (int nscales)=0
 
virtual void setNumWarps (int warps)=0
 
virtual void setScaleStep (double scaleStep)=0
 
virtual void setTau (double tau)=0
 
virtual void setTheta (double theta)=0
 
virtual void setUseInitialFlow (bool useInitialFlow)=0
 
- 繼承自 cv::cuda::DenseOpticalFlow 的公共成員函式
virtual void calc (InputArray I0, InputArray I1, InputOutputArray flow, Stream &stream=Stream::Null())=0
 計算稠密光流。
 
- 繼承自 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< OpticalFlowDual_TVL1create (double tau=0.25, double lambda=0.15, double theta=0.3, int nscales=5, int warps=5, double epsilon=0.01, int iterations=300, double scaleStep=0.8, double gamma=0.0, bool useInitialFlow=false)
 
- 繼承自 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)
 從檔案節點讀取演算法。
 

額外繼承成員

- 繼承自 cv::Algorithm 的保護成員函式
void writeFormat (FileStorage &fs) const
 

詳細描述

Zach、Pock 和 Bischof Dual TV-L1 光流方法的實現。

注意
C. Zach, T. Pock and H. Bischof, "A Duality Based Approach for Realtime TV-L1 Optical Flow"(一種基於對偶的即時 TV-L1 光流方法)。
Javier Sanchez, Enric Meinhardt-Llopis and Gabriele Facciolo. "TV-L1 Optical Flow Estimation"(TV-L1 光流估計)。

成員函式文件

◆ create()

static Ptr< OpticalFlowDual_TVL1 > cv::cuda::OpticalFlowDual_TVL1::create ( double tau = 0.25,
double lambda = 0.15,
double theta = 0.3,
int nscales = 5,
int warps = 5,
double epsilon = 0.01,
int iterations = 300,
double scaleStep = 0.8,
double gamma = 0.0,
bool useInitialFlow = false )
static

◆ getEpsilon()

virtual double cv::cuda::OpticalFlowDual_TVL1::getEpsilon ( ) const
純虛擬函式

數值方案中使用的停止準則閾值,它是精度和執行時間之間的權衡。較小的值將產生更準確的解決方案,但會以較慢的收斂速度為代價。

◆ getGamma()

virtual double cv::cuda::OpticalFlowDual_TVL1::getGamma ( ) const
純虛擬函式

(u - v)^2 的權重引數,緊密性引數。它充當附加項和正則化項之間的連結。理論上,它應該有一個較小的值,以使兩部分保持一致。該方法對該引數的較大範圍值都是穩定的。

◆ getLambda()

virtual double cv::cuda::OpticalFlowDual_TVL1::getLambda ( ) const
純虛擬函式

資料項的權重引數,附加引數。這是最相關的引數,它決定了輸出的平滑度。該引數值越小,我們獲得的解決方案就越平滑。它取決於影像的運動範圍,因此其值應根據每個影像序列進行調整。

◆ getNumIterations()

virtual int cv::cuda::OpticalFlowDual_TVL1::getNumIterations ( ) const
純虛擬函式

數值方案中使用的停止準則迭代次數。

◆ getNumScales()

virtual int cv::cuda::OpticalFlowDual_TVL1::getNumScales ( ) const
純虛擬函式

用於建立影像金字塔的尺度數量。

◆ getNumWarps()

virtual int cv::cuda::OpticalFlowDual_TVL1::getNumWarps ( ) const
純虛擬函式

每個尺度的扭曲次數。表示每個尺度上計算 I1(x+u0) 和 grad( I1(x+u0) ) 的次數。這是一個保證方法穩定性的引數。它也影響執行時間,因此是速度和準確性之間的折衷。

◆ getScaleStep()

virtual double cv::cuda::OpticalFlowDual_TVL1::getScaleStep ( ) const
純虛擬函式

◆ getTau()

virtual double cv::cuda::OpticalFlowDual_TVL1::getTau ( ) const
純虛擬函式

數值方案的時間步長。

◆ getTheta()

virtual double cv::cuda::OpticalFlowDual_TVL1::getTheta ( ) const
純虛擬函式

用於運動估計的引數。它增加了一個允許亮度變化的變數。如果亮度有變化,請將此引數設定為 1。參見:Chambolle 等,"用於影像處理凸問題的一階原始對偶演算法",Journal of Mathematical imaging and vision, 2011 年 5 月第 40 卷第 1 期,第 120-145 頁

◆ getUseInitialFlow()

virtual bool cv::cuda::OpticalFlowDual_TVL1::getUseInitialFlow ( ) const
純虛擬函式

◆ setEpsilon()

virtual void cv::cuda::OpticalFlowDual_TVL1::setEpsilon ( double epsilon)
純虛擬函式

◆ setGamma()

virtual void cv::cuda::OpticalFlowDual_TVL1::setGamma ( double gamma)
純虛擬函式

◆ setLambda()

virtual void cv::cuda::OpticalFlowDual_TVL1::setLambda ( double lambda)
純虛擬函式

◆ setNumIterations()

virtual void cv::cuda::OpticalFlowDual_TVL1::setNumIterations ( int iterations)
純虛擬函式

◆ setNumScales()

virtual void cv::cuda::OpticalFlowDual_TVL1::setNumScales ( int nscales)
純虛擬函式

◆ setNumWarps()

virtual void cv::cuda::OpticalFlowDual_TVL1::setNumWarps ( int warps)
純虛擬函式

◆ setScaleStep()

virtual void cv::cuda::OpticalFlowDual_TVL1::setScaleStep ( double scaleStep)
純虛擬函式

◆ setTau()

virtual void cv::cuda::OpticalFlowDual_TVL1::setTau ( double tau)
純虛擬函式

◆ setTheta()

virtual void cv::cuda::OpticalFlowDual_TVL1::setTheta ( double theta)
純虛擬函式

◆ setUseInitialFlow()

virtual void cv::cuda::OpticalFlowDual_TVL1::setUseInitialFlow ( bool useInitialFlow)
純虛擬函式

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