OpenCV  4.10.0
开源计算机视觉
正在加载...
正在搜索...
无匹配项
公共类型 | 公共成员函数 | 静态公共成员函数 | 所有成员列表
cv::DISOpticalFlow 类参考abstract

DIS 光流算法。 更多...

#include <opencv2/video/tracking.hpp>

cv::DISOpticalFlow 的协作图

公共类型

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

公共成员函数

virtual int getFinestScale () const =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
 每级变分细化的固定点迭代次数。设置为零以完全禁用变分细化。较高的值通常会导致更平滑和更高质量的光流。
 
virtual void setFinestScale (int val)=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
 补丁逆向搜索阶段的梯度下降迭代次数上限。在某些情况下,较高的值可能会提高质量。
 
- 从 cv::DenseOpticalFlow 继承的公共成员函数
virtual void calc (InputArray I0, InputArray I1, InputOutputArray flow)=0
 计算光流。
 
virtual void collectGarbage ()=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< DISOpticalFlowcreate (int preset=DISOpticalFlow::PRESET_FAST)
 创建一个 DISOpticalFlow 实例。
 
- 从 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
 

详细描述

DIS 光流算法。

此类实现了密集逆向搜索 (DIS) 光流算法。有关该算法的更多详细信息,请参阅 [150] 。包括三个预设,预先选择参数以在速度和质量之间提供合理的权衡。但是,即使是最慢的预设也相对较快,如果需要更好的质量并且不关心速度,请使用 DeepFlow。

与论文中描述的算法相比,此实现包含几个附加功能,包括光流矢量的空间传播 (getUseSpatialPropagation),以及使用传递给 calc 的初始光流近似值(本质上是时间传播,如果传递了前一帧的光流场)。

成员枚举文档

◆ 匿名枚举

匿名枚举
枚举器
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 之一

◆ getFinestScale()

virtual int cv::DISOpticalFlow::getFinestScale ( ) const
纯虚函数
Python
cv.DISOpticalFlow.getFinestScale() -> retval

计算光流的最高层高斯金字塔(零层对应于原始图像分辨率)。最终光流通过双线性上采样获得。

另请参阅
setFinestScale

◆ getGradientDescentIterations()

virtual int cv::DISOpticalFlow::getGradientDescentIterations ( ) const
纯虚函数
Python
cv.DISOpticalFlow.getGradientDescentIterations() -> retval

补丁逆向搜索阶段的梯度下降迭代次数上限。在某些情况下,较高的值可能会提高质量。

另请参阅
setGradientDescentIterations

◆ getPatchSize()

virtual int cv::DISOpticalFlow::getPatchSize ( ) const
纯虚函数
Python
cv.DISOpticalFlow.getPatchSize() -> retval

用于匹配的图像补丁大小(以像素为单位)。通常,默认的 8x8 补丁在大多数情况下都能正常工作。

另请参阅
setPatchSize

◆ getPatchStride()

virtual int cv::DISOpticalFlow::getPatchStride ( ) const
纯虚函数
Python
cv.DISOpticalFlow.getPatchStride() -> retval

相邻补丁之间的步长。必须小于补丁大小。较低的值对应于较高的光流质量。

另请参阅
setPatchStride

◆ getUseMeanNormalization()

virtual bool cv::DISOpticalFlow::getUseMeanNormalization ( ) const
纯虚函数
Python
cv.DISOpticalFlow.getUseMeanNormalization() -> retval

是否在计算补丁距离时使用补丁的均值归一化。默认情况下它处于开启状态,因为它通常会提供明显的质量提升,因为对光照变化的鲁棒性更强。如果您确定您的序列不包含任何光照变化,请将其关闭。

另请参阅
setUseMeanNormalization

◆ getUseSpatialPropagation()

virtual bool cv::DISOpticalFlow::getUseSpatialPropagation ( ) const
纯虚函数
Python
cv.DISOpticalFlow.getUseSpatialPropagation() -> retval

是否使用良好光流矢量的空间传播。此选项默认情况下处于开启状态,因为它在平均情况下往往效果更好,并且有时可以帮助从 DIS 光流算法使用的从粗到细方案引入的重大错误中恢复。关闭此选项可能会使输出光流场更平滑,但是。

另请参阅
setUseSpatialPropagation

◆ getVariationalRefinementAlpha()

virtual float cv::DISOpticalFlow::getVariationalRefinementAlpha ( ) const
纯虚函数
Python
cv.DISOpticalFlow.getVariationalRefinementAlpha() -> retval

平滑项的权重。

另请参阅
setVariationalRefinementAlpha

◆ getVariationalRefinementDelta()

virtual float cv::DISOpticalFlow::getVariationalRefinementDelta ( ) const
纯虚函数
Python
cv.DISOpticalFlow.getVariationalRefinementDelta() -> retval

颜色恒定项的权重。

另请参阅
setVariationalRefinementDelta

◆ getVariationalRefinementEpsilon()

virtual float cv::DISOpticalFlow::getVariationalRefinementEpsilon ( ) const
纯虚函数
Python
cv.DISOpticalFlow.getVariationalRefinementEpsilon() -> retval

鲁棒惩罚器的范数值偏移。

另请参阅
setVariationalRefinementEpsilon

◆ getVariationalRefinementGamma()

virtual float cv::DISOpticalFlow::getVariationalRefinementGamma ( ) const
纯虚函数
Python
cv.DISOpticalFlow.getVariationalRefinementGamma() -> retval

梯度恒定项的权重。

另请参阅
setVariationalRefinementGamma

◆ getVariationalRefinementIterations()

virtual int cv::DISOpticalFlow::getVariationalRefinementIterations ( ) const
纯虚函数
Python
cv.DISOpticalFlow.getVariationalRefinementIterations() -> retval

每级变分细化的固定点迭代次数。设置为零以完全禁用变分细化。较高的值通常会导致更平滑和更高质量的光流。

另请参阅
setGradientDescentIterations

◆ setFinestScale()

virtual void cv::DISOpticalFlow::setFinestScale ( int  val)
纯虚函数
Python
cv.DISOpticalFlow.setFinestScale(val) -> None

计算光流的最高层高斯金字塔(零层对应于原始图像分辨率)。最终光流通过双线性上采样获得。

另请参阅
getFinestScale

◆ setGradientDescentIterations()

virtual void cv::DISOpticalFlow::setGradientDescentIterations ( int  val)
纯虚函数
Python
cv.DISOpticalFlow.setGradientDescentIterations(val) -> None

补丁逆向搜索阶段的梯度下降迭代次数上限。在某些情况下,较高的值可能会提高质量。

另请参阅
getGradientDescentIterations

◆ setPatchSize()

virtual void cv::DISOpticalFlow::setPatchSize ( int  val)
纯虚函数
Python
cv.DISOpticalFlow.setPatchSize(val) -> None

用于匹配的图像补丁大小(以像素为单位)。通常,默认的 8x8 补丁在大多数情况下都能正常工作。

另请参阅
getPatchSize

◆ setPatchStride()

virtual void cv::DISOpticalFlow::setPatchStride ( int  val)
纯虚函数
Python
cv.DISOpticalFlow.setPatchStride(val) -> None

相邻补丁之间的步长。必须小于补丁大小。较低的值对应于较高的光流质量。

另请参阅
getPatchStride

◆ setUseMeanNormalization()

virtual void cv::DISOpticalFlow::setUseMeanNormalization ( bool  val)
纯虚函数
Python
cv.DISOpticalFlow.setUseMeanNormalization(val) -> None

是否在计算补丁距离时使用补丁的均值归一化。默认情况下它处于开启状态,因为它通常会提供明显的质量提升,因为对光照变化的鲁棒性更强。如果您确定您的序列不包含任何光照变化,请将其关闭。

另请参阅
getUseMeanNormalization

◆ setUseSpatialPropagation()

virtual void cv::DISOpticalFlow::setUseSpatialPropagation ( bool  val)
纯虚函数
Python
cv.DISOpticalFlow.setUseSpatialPropagation(val) -> None

是否使用良好光流矢量的空间传播。此选项默认情况下处于开启状态,因为它在平均情况下往往效果更好,并且有时可以帮助从 DIS 光流算法使用的从粗到细方案引入的重大错误中恢复。关闭此选项可能会使输出光流场更平滑,但是。

另请参阅
getUseSpatialPropagation

◆ setVariationalRefinementAlpha()

virtual void cv::DISOpticalFlow::setVariationalRefinementAlpha ( float  val)
纯虚函数
Python
cv.DISOpticalFlow.setVariationalRefinementAlpha(val) -> None

平滑项的权重。

另请参阅
getVariationalRefinementAlpha

◆ setVariationalRefinementDelta()

virtual void cv::DISOpticalFlow::setVariationalRefinementDelta ( float  val)
纯虚函数
Python
cv.DISOpticalFlow.setVariationalRefinementDelta(val) -> None

颜色恒定项的权重。

另请参阅
getVariationalRefinementDelta

◆ setVariationalRefinementEpsilon()

virtual void cv::DISOpticalFlow::setVariationalRefinementEpsilon ( float  val)
纯虚函数
Python
cv.DISOpticalFlow.setVariationalRefinementEpsilon(val) -> None

鲁棒惩罚器的范数值偏移。

另请参阅
getVariationalRefinementEpsilon

◆ setVariationalRefinementGamma()

virtual void cv::DISOpticalFlow::setVariationalRefinementGamma ( float  val)
纯虚函数
Python
cv.DISOpticalFlow.setVariationalRefinementGamma(val) -> None

梯度恒定项的权重。

另请参阅
getVariationalRefinementGamma

◆ setVariationalRefinementIterations()

virtual void cv::DISOpticalFlow::setVariationalRefinementIterations ( int  val)
纯虚函数
Python
cv.DISOpticalFlow.setVariationalRefinementIterations(val) -> None

补丁逆向搜索阶段的梯度下降迭代次数上限。在某些情况下,较高的值可能会提高质量。

另请参阅
getGradientDescentIterations

此类别的文档从以下文件生成