"Dual TV L1" Optical Flow Algorithm. More...
#include "tracking.hpp"
Public Member Functions | |
virtual void | calc (InputArray I0, InputArray I1, InputOutputArray flow)=0 |
Calculates an optical flow. 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 String | getDefaultName () const |
Returns the algorithm string identifier. More... | |
virtual double | getEpsilon () const =0 |
Stopping criterion threshold used in the numerical scheme, which is a trade-off between precision and running time. More... | |
virtual double | getGamma () const =0 |
coefficient for additional illumination variation term More... | |
virtual int | getInnerIterations () const =0 |
Inner iterations (between outlier filtering) used in the numerical scheme. More... | |
virtual double | getLambda () const =0 |
Weight parameter for the data term, attachment parameter. More... | |
virtual int | getMedianFiltering () const =0 |
Median filter kernel size (1 = no filter) (3 or 5) More... | |
virtual int | getOuterIterations () const =0 |
Outer iterations (number of inner loops) used in the numerical scheme. More... | |
virtual int | getScalesNumber () const =0 |
Number of scales used to create the pyramid of images. More... | |
virtual double | getScaleStep () const =0 |
Step between scales (<1) More... | |
virtual double | getTau () const =0 |
Time step of the numerical scheme. More... | |
virtual double | getTheta () const =0 |
Weight parameter for (u - v)^2, tightness parameter. More... | |
virtual bool | getUseInitialFlow () const =0 |
Use initial flow. More... | |
virtual int | getWarpingsNumber () const =0 |
Number of warpings per scale. 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 | setEpsilon (double val)=0 |
Stopping criterion threshold used in the numerical scheme, which is a trade-off between precision and running time. More... | |
virtual void | setGamma (double val)=0 |
coefficient for additional illumination variation term More... | |
virtual void | setInnerIterations (int val)=0 |
Inner iterations (between outlier filtering) used in the numerical scheme. More... | |
virtual void | setLambda (double val)=0 |
Weight parameter for the data term, attachment parameter. More... | |
virtual void | setMedianFiltering (int val)=0 |
Median filter kernel size (1 = no filter) (3 or 5) More... | |
virtual void | setOuterIterations (int val)=0 |
Outer iterations (number of inner loops) used in the numerical scheme. More... | |
virtual void | setScalesNumber (int val)=0 |
Number of scales used to create the pyramid of images. More... | |
virtual void | setScaleStep (double val)=0 |
Step between scales (<1) More... | |
virtual void | setTau (double val)=0 |
Time step of the numerical scheme. More... | |
virtual void | setTheta (double val)=0 |
Weight parameter for (u - v)^2, tightness parameter. More... | |
virtual void | setUseInitialFlow (bool val)=0 |
Use initial flow. More... | |
virtual void | setWarpingsNumber (int val)=0 |
Number of warpings per scale. More... | |
virtual void | write (FileStorage &fs) const |
Stores algorithm parameters in a file storage. More... | |
Static Public Member Functions | |
static Ptr< DualTVL1OpticalFlow > | create (double tau=0.25, double lambda=0.15, double theta=0.3, int nscales=5, int warps=5, double epsilon=0.01, int innnerIterations=30, int outerIterations=10, double scaleStep=0.8, double gamma=0.0, int medianFiltering=5, bool useInitialFlow=false) |
Creates instance of cv::DualTVL1OpticalFlow. 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 |
"Dual TV L1" Optical Flow Algorithm.
The class implements the "Dual TV L1" optical flow algorithm described in [94] and [74] . Here are important members of the class that control the algorithm, which you can set after constructing the class instance:
C. Zach, T. Pock and H. Bischof, "A Duality Based Approach for Realtime TV-L1 Optical Flow". Javier Sanchez, Enric Meinhardt-Llopis and Gabriele Facciolo. "TV-L1 Optical Flow Estimation".
|
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. |
|
inlinevirtualinherited |
Clears the algorithm state.
Reimplemented in cv::FlannBasedMatcher, cv::DescriptorMatcher, and cv::cuda::DescriptorMatcher.
|
pure virtualinherited |
Releases all inner buffers.
|
static |
Creates instance of cv::DualTVL1OpticalFlow.
|
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, cv::BaseCascadeClassifier, and cv::cuda::DescriptorMatcher.
|
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.
|
pure virtual |
Stopping criterion threshold used in the numerical scheme, which is a trade-off between precision and running time.
|
pure virtual |
coefficient for additional illumination variation term
|
pure virtual |
Inner iterations (between outlier filtering) used in the numerical scheme.
|
pure virtual |
Weight parameter for the data term, attachment parameter.
|
pure virtual |
Median filter kernel size (1 = no filter) (3 or 5)
|
pure virtual |
Outer iterations (number of inner loops) used in the numerical scheme.
|
pure virtual |
Number of scales used to create the pyramid of images.
|
pure virtual |
Step between scales (<1)
|
pure virtual |
Time step of the numerical scheme.
|
pure virtual |
Weight parameter for (u - v)^2, tightness parameter.
|
pure virtual |
Use initial flow.
|
pure virtual |
Number of warpings per scale.
|
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::Ptr< T >::empty(), cv::FileNode::empty(), cv::FileStorage::getFirstTopLevelNode(), 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::Ptr< T >::empty(), 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)
References cv::Ptr< T >::empty().
|
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 |
Stopping criterion threshold used in the numerical scheme, which is a trade-off between precision and running time.
|
pure virtual |
coefficient for additional illumination variation term
|
pure virtual |
Inner iterations (between outlier filtering) used in the numerical scheme.
|
pure virtual |
Weight parameter for the data term, attachment parameter.
|
pure virtual |
Median filter kernel size (1 = no filter) (3 or 5)
|
pure virtual |
Outer iterations (number of inner loops) used in the numerical scheme.
|
pure virtual |
Number of scales used to create the pyramid of images.
|
pure virtual |
Step between scales (<1)
|
pure virtual |
Time step of the numerical scheme.
|
pure virtual |
Weight parameter for (u - v)^2, tightness parameter.
|
pure virtual |
Use initial flow.
|
pure virtual |
Number of warpings per scale.
|
inlinevirtualinherited |
Stores algorithm parameters in a file storage.
Reimplemented in cv::FlannBasedMatcher, cv::DescriptorMatcher, and cv::Feature2D.
|
protectedinherited |