OpenCV 4.11.0
开源计算机视觉
加载中...
搜索中...
无匹配项
cv::cuda::OpticalFlowDual_TVL1 类参考抽象类

Zach, Pock 和 Bischof 双 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
 如果 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< 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 双 TV-L1 光流方法的实现。

注意
C. Zach、T. Pock 和 H. Bischof,“基于对偶性的实时 TV-L1 光流方法”。
Javier Sanchez、Enric Meinhardt-Llopis 和 Gabriele Facciolo。“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)

◆ 获取Epsilon值 (getEpsilon())

虚函数 double cv::cuda::OpticalFlowDual_TVL1::getEpsilon ( ) 常量 (const)
纯虚函数 (pure virtual)

数值方案中使用的停止准则阈值,它是在精度和运行时间之间的权衡。较小的值将产生更精确的解,但代价是收敛速度较慢。

◆ 获取伽马值 (getGamma())

虚函数 double cv::cuda::OpticalFlowDual_TVL1::getGamma ( ) 常量 (const)
纯虚函数 (pure virtual)

用于 (u - v)^2 的权重参数,紧致参数。它作为附着项和正则化项之间的联系。理论上,为了保持两部分的对应关系,它应该具有较小的值。该方法对于该参数的较大范围的值都是稳定的。

◆ 获取Lambda值 (getLambda())

虚函数 double cv::cuda::OpticalFlowDual_TVL1::getLambda ( ) 常量 (const)
纯虚函数 (pure virtual)

数据项的权重参数,附着参数。这是最相关的参数,它决定了输出的平滑度。此参数越小,获得的解就越平滑。它取决于图像运动的范围,因此其值应针对每个图像序列进行调整。

◆ 获取迭代次数 (getNumIterations())

虚函数 int cv::cuda::OpticalFlowDual_TVL1::getNumIterations ( ) 常量 (const)
纯虚函数 (pure virtual)

数值方案中使用的停止准则迭代次数。

◆ 获取尺度数量 (getNumScales())

虚函数 int cv::cuda::OpticalFlowDual_TVL1::getNumScales ( ) 常量 (const)
纯虚函数 (pure virtual)

用于创建图像金字塔的尺度数量。

◆ 获取扭曲次数 (getNumWarps())

虚函数 int cv::cuda::OpticalFlowDual_TVL1::getNumWarps ( ) 常量 (const)
纯虚函数 (pure virtual)

每个尺度的扭曲次数。表示每个尺度计算 I1(x+u0) 和 grad( I1(x+u0) ) 的次数。这是一个保证方法稳定性的参数。它还会影响运行时间,因此它是速度和精度之间的折衷。

◆ 获取尺度步长 (getScaleStep())

虚函数 double cv::cuda::OpticalFlowDual_TVL1::getScaleStep ( ) 常量 (const)
纯虚函数 (pure virtual)

◆ 获取Tau值 (getTau())

虚函数 double cv::cuda::OpticalFlowDual_TVL1::getTau ( ) 常量 (const)
纯虚函数 (pure virtual)

数值方案的时间步长。

◆ 获取Theta值 (getTheta())

虚函数 double cv::cuda::OpticalFlowDual_TVL1::getTheta ( ) 常量 (const)
纯虚函数 (pure virtual)

用于运动估计的参数。它添加了一个允许光照变化的变量。如果您有变化的光照,请将此参数设置为 1。参见:Chambolle 等人,用于凸问题的应用成像的二阶原始对偶算法,数学成像和视觉杂志,2011 年 5 月,第 40 卷,第 1 期,第 120-145 页

◆ 获取是否使用初始光流 (getUseInitialFlow())

虚函数 bool cv::cuda::OpticalFlowDual_TVL1::getUseInitialFlow ( ) 常量 (const)
纯虚函数 (pure virtual)

◆ 设置Epsilon值 (setEpsilon())

虚函数 void cv::cuda::OpticalFlowDual_TVL1::setEpsilon ( double epsilon)
纯虚函数 (pure virtual)

◆ 设置伽马值 (setGamma())

虚函数 void cv::cuda::OpticalFlowDual_TVL1::setGamma ( double gamma)
纯虚函数 (pure virtual)

◆ 设置Lambda值 (setLambda())

虚函数 void cv::cuda::OpticalFlowDual_TVL1::setLambda ( double lambda)
纯虚函数 (pure virtual)

◆ 设置迭代次数 (setNumIterations())

虚函数 void cv::cuda::OpticalFlowDual_TVL1::setNumIterations ( int iterations)
纯虚函数 (pure virtual)

◆ 设置尺度数量 (setNumScales())

虚函数 void cv::cuda::OpticalFlowDual_TVL1::setNumScales ( int nscales)
纯虚函数 (pure virtual)

◆ 设置扭曲次数 (setNumWarps())

虚函数 void cv::cuda::OpticalFlowDual_TVL1::setNumWarps ( int warps)
纯虚函数 (pure virtual)

◆ 设置尺度步长 (setScaleStep())

虚函数 void cv::cuda::OpticalFlowDual_TVL1::setScaleStep ( double scaleStep)
纯虚函数 (pure virtual)

◆ 设置Tau值 (setTau())

虚函数 void cv::cuda::OpticalFlowDual_TVL1::setTau ( double tau)
纯虚函数 (pure virtual)

◆ 设置Theta值 (setTheta())

虚函数 void cv::cuda::OpticalFlowDual_TVL1::setTheta ( double theta)
纯虚函数 (pure virtual)

◆ 设置是否使用初始光流 (setUseInitialFlow())

虚函数 void cv::cuda::OpticalFlowDual_TVL1::setUseInitialFlow ( 布尔值 (bool) useInitialFlow)
纯虚函数 (pure virtual)

此类的文档是从以下文件生成的: