Variational optical flow refinement. More...
#include <opencv2/video/tracking.hpp>
Public Member Functions | |
virtual void | calc (InputArray I0, InputArray I1, InputOutputArray flow)=0 |
Calculates an optical flow. More... | |
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) More... | |
virtual void | clear () |
Clears the algorithm state. More... | |
virtual void | collectGarbage ()=0 |
Releases all inner buffers. More... | |
virtual bool | empty () const |
Returns true if the Algorithm is empty (e.g. More... | |
virtual float | getAlpha () const =0 |
Weight of the smoothness term. More... | |
virtual String | getDefaultName () const |
Returns the algorithm string identifier. More... | |
virtual float | getDelta () const =0 |
Weight of the color constancy term. More... | |
virtual int | getFixedPointIterations () const =0 |
Number of outer (fixed-point) iterations in the minimization procedure. More... | |
virtual float | getGamma () const =0 |
Weight of the gradient constancy term. More... | |
virtual float | getOmega () const =0 |
Relaxation factor in SOR. More... | |
virtual int | getSorIterations () const =0 |
Number of inner successive over-relaxation (SOR) iterations in the minimization procedure to solve the respective linear system. More... | |
virtual void | read (const FileNode &fn) |
Reads algorithm parameters from a file storage. More... | |
virtual void | save (const String &filename) const |
Saves the algorithm to a file. More... | |
virtual void | setAlpha (float val)=0 |
Weight of the smoothness term. More... | |
virtual void | setDelta (float val)=0 |
Weight of the color constancy term. More... | |
virtual void | setFixedPointIterations (int val)=0 |
Number of outer (fixed-point) iterations in the minimization procedure. More... | |
virtual void | setGamma (float val)=0 |
Weight of the gradient constancy term. More... | |
virtual void | setOmega (float val)=0 |
Relaxation factor in SOR. More... | |
virtual void | setSorIterations (int val)=0 |
Number of inner successive over-relaxation (SOR) iterations in the minimization procedure to solve the respective linear system. More... | |
virtual void | write (FileStorage &fs) const |
Stores algorithm parameters in a file storage. More... | |
void | write (const Ptr< FileStorage > &fs, const String &name=String()) const |
simplified API for language bindings This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
Static Public Member Functions | |
static Ptr< VariationalRefinement > | create () |
Creates an instance of VariationalRefinement. More... | |
template<typename _Tp > | |
static Ptr< _Tp > | load (const String &filename, const String &objname=String()) |
Loads algorithm from the file. More... | |
template<typename _Tp > | |
static Ptr< _Tp > | loadFromString (const String &strModel, const String &objname=String()) |
Loads algorithm from a String. More... | |
template<typename _Tp > | |
static Ptr< _Tp > | read (const FileNode &fn) |
Reads algorithm from the file node. More... | |
Protected Member Functions | |
void | writeFormat (FileStorage &fs) const |
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 [15]
|
pure virtualinherited |
Calculates an optical flow.
I0 | first 8-bit single-channel input image. |
I1 | second input image of the same size and the same type as prev. |
flow | computed flow image that has the same size as prev and type CV_32FC2. |
|
pure virtual |
calc function overload to handle separate horizontal (u) and vertical (v) flow components (to avoid extra splits/merges)
|
inlinevirtualinherited |
Clears the algorithm state.
Reimplemented in cv::FlannBasedMatcher, and cv::DescriptorMatcher.
|
pure virtualinherited |
Releases all inner buffers.
|
static |
Creates an instance of VariationalRefinement.
|
inlinevirtualinherited |
Returns true if the Algorithm is empty (e.g.
in the very beginning or after unsuccessful read
Reimplemented in cv::DescriptorMatcher, cv::ml::StatModel, cv::Feature2D, and cv::BaseCascadeClassifier.
|
pure virtual |
Weight of the smoothness term.
|
virtualinherited |
Returns the algorithm string identifier.
This string is used as top level xml/yml node tag when the object is saved to a file or string.
Reimplemented in cv::AKAZE, cv::KAZE, cv::SimpleBlobDetector, cv::GFTTDetector, cv::AgastFeatureDetector, cv::FastFeatureDetector, cv::MSER, cv::ORB, cv::BRISK, and cv::Feature2D.
|
pure virtual |
Weight of the color constancy term.
|
pure virtual |
Number of outer (fixed-point) iterations in the minimization procedure.
|
pure virtual |
Weight of the gradient constancy term.
|
pure virtual |
Relaxation factor in SOR.
|
pure virtual |
Number of inner successive over-relaxation (SOR) iterations in the minimization procedure to solve the respective linear system.
|
inlinestaticinherited |
Loads algorithm from the file.
filename | Name of the file to read. |
objname | The optional name of the node to read (if empty, the first top-level node will be used) |
This is static template method of Algorithm. It's usage is following (in the case of SVM):
In order to make this method work, the derived class must overwrite Algorithm::read(const FileNode& fn).
References CV_Assert, cv::FileNode::empty(), cv::FileStorage::getFirstTopLevelNode(), cv::FileStorage::isOpened(), and cv::FileStorage::READ.
|
inlinestaticinherited |
Loads algorithm from a String.
strModel | The string variable containing the model you want to load. |
objname | The optional name of the node to read (if empty, the first top-level node will be used) |
This is static template method of Algorithm. It's usage is following (in the case of SVM):
References CV_WRAP, cv::FileNode::empty(), cv::FileStorage::getFirstTopLevelNode(), cv::FileStorage::MEMORY, and cv::FileStorage::READ.
|
inlinevirtualinherited |
Reads algorithm parameters from a file storage.
Reimplemented in cv::FlannBasedMatcher, cv::DescriptorMatcher, and cv::Feature2D.
|
inlinestaticinherited |
Reads algorithm from the file node.
This is static template method of Algorithm. It's usage is following (in the case of SVM):
In order to make this method work, the derived class must overwrite Algorithm::read(const FileNode& fn) and also have static create() method without parameters (or with all the optional parameters)
|
virtualinherited |
Saves the algorithm to a file.
In order to make this method work, the derived class must implement Algorithm::write(FileStorage& fs).
|
pure virtual |
Weight of the smoothness term.
|
pure virtual |
Weight of the color constancy term.
|
pure virtual |
Number of outer (fixed-point) iterations in the minimization procedure.
|
pure virtual |
Weight of the gradient constancy term.
|
pure virtual |
Relaxation factor in SOR.
|
pure virtual |
Number of inner successive over-relaxation (SOR) iterations in the minimization procedure to solve the respective linear system.
|
inlinevirtualinherited |
Stores algorithm parameters in a file storage.
Reimplemented in cv::FlannBasedMatcher, cv::DescriptorMatcher, and cv::Feature2D.
References CV_WRAP.
Referenced by cv::Feature2D::write(), and cv::DescriptorMatcher::write().
|
inherited |
simplified API for language bindings This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
protectedinherited |