Loading...
Searching...
No Matches

Variational optical flow refinement. More...

#include <opencv2/video/tracking.hpp>

Inheritance diagram for cv::VariationalRefinement:
cv::DenseOpticalFlow cv::Algorithm

Public Member Functions

virtual void calcUV (InputArray I0, InputArray I1, InputOutputArray flow_u, InputOutputArray flow_v)=0
 calc function overload to handle separate horizontal (u) and vertical (v) flow components (to avoid extra splits/merges)
 
virtual float getAlpha () const =0
 Weight of the smoothness term.
 
virtual float getDelta () const =0
 Weight of the color constancy term.
 
virtual int getFixedPointIterations () const =0
 Number of outer (fixed-point) iterations in the minimization procedure.
 
virtual float getGamma () const =0
 Weight of the gradient constancy term.
 
virtual float getOmega () const =0
 Relaxation factor in SOR.
 
virtual int getSorIterations () const =0
 Number of inner successive over-relaxation (SOR) iterations in the minimization procedure to solve the respective linear system.
 
virtual void setAlpha (float val)=0
 Weight of the smoothness term.
 
virtual void setDelta (float val)=0
 Weight of the color constancy term.
 
virtual void setFixedPointIterations (int val)=0
 Number of outer (fixed-point) iterations in the minimization procedure.
 
virtual void setGamma (float val)=0
 Weight of the gradient constancy term.
 
virtual void setOmega (float val)=0
 Relaxation factor in SOR.
 
virtual void setSorIterations (int val)=0
 Number of inner successive over-relaxation (SOR) iterations in the minimization procedure to solve the respective linear system.
 
- Public Member Functions inherited from cv::DenseOpticalFlow
virtual void calc (InputArray I0, InputArray I1, InputOutputArray flow)=0
 Calculates an optical flow.
 
virtual void collectGarbage ()=0
 Releases all inner buffers.
 
- Public Member Functions inherited from cv::Algorithm
 Algorithm ()
 
virtual ~Algorithm ()
 
virtual void clear ()
 Clears the algorithm state.
 
virtual bool empty () const
 Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read.
 
virtual String getDefaultName () const
 
virtual void read (const FileNode &fn)
 Reads algorithm parameters from a file storage.
 
virtual void save (const String &filename) const
 
void write (const Ptr< FileStorage > &fs, const String &name=String()) const
 
virtual void write (FileStorage &fs) const
 Stores algorithm parameters in a file storage.
 
void write (FileStorage &fs, const String &name) const
 

Static Public Member Functions

static Ptr< VariationalRefinementcreate ()
 Creates an instance of VariationalRefinement.
 
- Static Public Member Functions inherited from cv::Algorithm
template<typename _Tp >
static Ptr< _Tpload (const String &filename, const String &objname=String())
 Loads algorithm from the file.
 
template<typename _Tp >
static Ptr< _TploadFromString (const String &strModel, const String &objname=String())
 Loads algorithm from a String.
 
template<typename _Tp >
static Ptr< _Tpread (const FileNode &fn)
 Reads algorithm from the file node.
 

Additional Inherited Members

- Protected Member Functions inherited from cv::Algorithm
void writeFormat (FileStorage &fs) const
 

Detailed Description

Variational optical flow refinement.

This class implements variational refinement of the input flow field, i.e. it uses input flow to initialize the minimization of the following functional: \(E(U) = \int_{\Omega} \delta \Psi(E_I) + \gamma \Psi(E_G) + \alpha \Psi(E_S) \), where \(E_I,E_G,E_S\) are color constancy, gradient constancy and smoothness terms respectively. \(\Psi(s^2)=\sqrt{s^2+\epsilon^2}\) is a robust penalizer to limit the influence of outliers. A complete formulation and a description of the minimization procedure can be found in [Brox2004]

Member Function Documentation

◆ calcUV()

virtual void cv::VariationalRefinement::calcUV ( InputArray  I0,
InputArray  I1,
InputOutputArray  flow_u,
InputOutputArray  flow_v 
)
pure virtual

calc function overload to handle separate horizontal (u) and vertical (v) flow components (to avoid extra splits/merges)

◆ create()

static Ptr< VariationalRefinement > cv::VariationalRefinement::create ( )
static

Creates an instance of VariationalRefinement.

◆ getAlpha()

virtual float cv::VariationalRefinement::getAlpha ( ) const
pure virtual

Weight of the smoothness term.

See also
setAlpha

◆ getDelta()

virtual float cv::VariationalRefinement::getDelta ( ) const
pure virtual

Weight of the color constancy term.

See also
setDelta

◆ getFixedPointIterations()

virtual int cv::VariationalRefinement::getFixedPointIterations ( ) const
pure virtual

Number of outer (fixed-point) iterations in the minimization procedure.

See also
setFixedPointIterations

◆ getGamma()

virtual float cv::VariationalRefinement::getGamma ( ) const
pure virtual

Weight of the gradient constancy term.

See also
setGamma

◆ getOmega()

virtual float cv::VariationalRefinement::getOmega ( ) const
pure virtual

Relaxation factor in SOR.

See also
setOmega

◆ getSorIterations()

virtual int cv::VariationalRefinement::getSorIterations ( ) const
pure virtual

Number of inner successive over-relaxation (SOR) iterations in the minimization procedure to solve the respective linear system.

See also
setSorIterations

◆ setAlpha()

virtual void cv::VariationalRefinement::setAlpha ( float  val)
pure virtual

Weight of the smoothness term.

See also
getAlpha

◆ setDelta()

virtual void cv::VariationalRefinement::setDelta ( float  val)
pure virtual

Weight of the color constancy term.

See also
getDelta

◆ setFixedPointIterations()

virtual void cv::VariationalRefinement::setFixedPointIterations ( int  val)
pure virtual

Number of outer (fixed-point) iterations in the minimization procedure.

See also
getFixedPointIterations

◆ setGamma()

virtual void cv::VariationalRefinement::setGamma ( float  val)
pure virtual

Weight of the gradient constancy term.

See also
getGamma

◆ setOmega()

virtual void cv::VariationalRefinement::setOmega ( float  val)
pure virtual

Relaxation factor in SOR.

See also
getOmega

◆ setSorIterations()

virtual void cv::VariationalRefinement::setSorIterations ( int  val)
pure virtual

Number of inner successive over-relaxation (SOR) iterations in the minimization procedure to solve the respective linear system.

See also
getSorIterations

The documentation for this class was generated from the following file: