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

用于计算稀疏光流和使用鲁棒局部光流 (RLOF) 算法进行特征跟踪的类。 更多...

#include <opencv2/optflow/rlofflow.hpp>

cv::optflow::SparseRLOFOpticalFlow 的协作图

公有成员函数

virtual float getForwardBackward () const =0
 前后向置信度检查的阈值。
 
virtual Ptr< RLOFOpticalFlowParametergetRLOFOpticalFlowParameter () const =0
 RLOF 算法的配置。
 
virtual void setForwardBackward (float val)=0
 前后向置信度检查的阈值。
 
virtual void setRLOFOpticalFlowParameter (Ptr< RLOFOpticalFlowParameter > val)=0
 RLOF 算法的配置。
 
- 从 cv::SparseOpticalFlow 继承的公有成员函数
virtual void calc (InputArray prevImg, InputArray nextImg, InputArray prevPts, InputOutputArray nextPts, OutputArray status, OutputArray err=cv::noArray())=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< SparseRLOFOpticalFlowcreate (Ptr< RLOFOpticalFlowParameter > rlofParam=Ptr< RLOFOpticalFlowParameter >(), float forwardBackwardThreshold=1.f)
 创建 SparseRLOFOpticalFlow 的实例。
 
- 从 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
 

详细说明

用于计算稀疏光流并使用鲁棒局部光流 (RLOF) 算法进行特征跟踪的类。

RLOF 是一种快速局部光流方法,如 [237] [238] [239][240] 中所述,类似于 [36] 提出的金字塔迭代 Lucas-Kanade 方法。更多详细信息和实验可以在以下论文 [241] 中找到。该实现源自 optflow::calcOpticalFlowPyrLK()。

有关 RLOF 配置,请参见 optflow::RLOFOpticalFlowParameter 以了解更多详细信息。参数已在 [237][238][239][240] 中进行了描述。

注意
仅在使用 SSE4.1 编译时才可以使用 SIMD 并行化。
另请参见
optflow::calcOpticalFlowSparseRLOF()optflow::RLOFOpticalFlowParameter

成员函数文档

◆ create()

static Ptr< SparseRLOFOpticalFlow > cv::optflow::SparseRLOFOpticalFlow::create ( Ptr< RLOFOpticalFlowParameter rlofParam = PtrRLOFOpticalFlowParameter >(),
float  forwardBackwardThreshold = 1.f 
)
static
Python
cv.optflow.SparseRLOFOpticalFlow.create([, rlofParam[, forwardBackwardThreshold]]) -> retval
cv.optflow.SparseRLOFOpticalFlow_create([, rlofParam[, forwardBackwardThreshold]]) -> retval

创建 SparseRLOFOpticalFlow 的实例。

参数
rlofParam参见 setRLOFOpticalFlowParameter
forwardBackwardThreshold参见 setForwardBackward

◆ getForwardBackward()

virtual float cv::optflow::SparseRLOFOpticalFlow::getForwardBackward ( ) const
纯虚
Python
cv.optflow.SparseRLOFOpticalFlow.getForwardBackward() -> retval

前后向置信度检查的阈值。

另请参见
setForwardBackward

◆ getRLOFOpticalFlowParameter()

virtual Ptr< RLOFOpticalFlowParameter > cv::optflow::SparseRLOFOpticalFlow::getRLOFOpticalFlowParameter ( ) const
纯虚
Python
cv.optflow.SparseRLOFOpticalFlow.getRLOFOpticalFlowParameter() -> retval

RLOF 算法的配置。

另请参见
setRLOFOpticalFlowParameter

◆ setForwardBackward()

virtual void cv::optflow::SparseRLOFOpticalFlow::setForwardBackward ( float  val)
纯虚
Python
cv.optflow.SparseRLOFOpticalFlow.setForwardBackward(val) -> None

前后向置信度检查的阈值。

对于每个特征点,都会计算一个运动向量 \( d_{I0,I1}(\mathbf{x}) \)。如果前后向误差

\[ EP_{FB} = || d_{I0,I1} + d_{I1,I0} || \]

大于此函数给出的阈值,则状态将不会被后续的矢量场插值使用。\( d_{I1,I0} \) 表示反向流。请注意,只有当阈值 > 0 时,才会应用前后向测试。这可能会导致运动估计的运行时间加倍。

另请参见
setForwardBackward

◆ setRLOFOpticalFlowParameter()

virtual void cv::optflow::SparseRLOFOpticalFlow::setRLOFOpticalFlowParameter ( Ptr< RLOFOpticalFlowParameter val)
纯虚
Python
cv.optflow.SparseRLOFOpticalFlow.setRLOFOpticalFlowParameter(val) -> None

RLOF 算法的配置。

另请参见
optflow::RLOFOpticalFlowParameter, getRLOFOpticalFlowParameter

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