OpenCV  3.2.0-dev
Open Source Computer Vision
cv::cuda::SparsePyrLKOpticalFlow Class Referenceabstract

Class used for calculating a sparse optical flow. More...

#include "cudaoptflow.hpp"

Inheritance diagram for cv::cuda::SparsePyrLKOpticalFlow:
Collaboration diagram for cv::cuda::SparsePyrLKOpticalFlow:

Public Member Functions

virtual void calc (InputArray prevImg, InputArray nextImg, InputArray prevPts, InputOutputArray nextPts, OutputArray status, OutputArray err=cv::noArray(), Stream &stream=Stream::Null())=0
 Calculates a sparse optical flow. More...
 
virtual void clear ()
 Clears the algorithm state. 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 int getMaxLevel () const =0
 
virtual int getNumIters () const =0
 
virtual bool getUseInitialFlow () const =0
 
virtual Size getWinSize () const =0
 
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 setMaxLevel (int maxLevel)=0
 
virtual void setNumIters (int iters)=0
 
virtual void setUseInitialFlow (bool useInitialFlow)=0
 
virtual void setWinSize (Size winSize)=0
 
virtual void write (FileStorage &fs) const
 Stores algorithm parameters in a file storage. More...
 

Static Public Member Functions

static Ptr< SparsePyrLKOpticalFlowcreate (Size winSize=Size(21, 21), int maxLevel=3, int iters=30, bool useInitialFlow=false)
 
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
 

Detailed Description

Class used for calculating a sparse optical flow.

The class can calculate an optical flow for a sparse feature set using the iterative Lucas-Kanade method with pyramids.

See also
calcOpticalFlowPyrLK
Note
  • An example of the Lucas Kanade optical flow algorithm can be found at opencv_source_code/samples/gpu/pyrlk_optical_flow.cpp

Member Function Documentation

virtual void cv::cuda::SparseOpticalFlow::calc ( InputArray  prevImg,
InputArray  nextImg,
InputArray  prevPts,
InputOutputArray  nextPts,
OutputArray  status,
OutputArray  err = cv::noArray(),
Stream stream = Stream::Null() 
)
pure virtualinherited

Calculates a sparse optical flow.

Parameters
prevImgFirst input image.
nextImgSecond input image of the same size and the same type as prevImg.
prevPtsVector of 2D points for which the flow needs to be found.
nextPtsOutput vector of 2D points containing the calculated new positions of input features in the second image.
statusOutput status vector. Each element of the vector is set to 1 if the flow for the corresponding features has been found. Otherwise, it is set to 0.
errOptional output vector that contains error response for each point (inverse confidence).
streamStream for the asynchronous version.
virtual void cv::Algorithm::clear ( )
inlinevirtualinherited

Clears the algorithm state.

Reimplemented in cv::FlannBasedMatcher, cv::DescriptorMatcher, and cv::cuda::DescriptorMatcher.

static Ptr<SparsePyrLKOpticalFlow> cv::cuda::SparsePyrLKOpticalFlow::create ( Size  winSize = Size(21, 21),
int  maxLevel = 3,
int  iters = 30,
bool  useInitialFlow = false 
)
static
virtual bool cv::Algorithm::empty ( ) const
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.

virtual String cv::Algorithm::getDefaultName ( ) const
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.

virtual int cv::cuda::SparsePyrLKOpticalFlow::getMaxLevel ( ) const
pure virtual
virtual int cv::cuda::SparsePyrLKOpticalFlow::getNumIters ( ) const
pure virtual
virtual bool cv::cuda::SparsePyrLKOpticalFlow::getUseInitialFlow ( ) const
pure virtual
virtual Size cv::cuda::SparsePyrLKOpticalFlow::getWinSize ( ) const
pure virtual
template<typename _Tp >
static Ptr<_Tp> cv::Algorithm::load ( const String filename,
const String objname = String() 
)
inlinestaticinherited

Loads algorithm from the file.

Parameters
filenameName of the file to read.
objnameThe 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):

Ptr<SVM> svm = Algorithm::load<SVM>("my_svm_model.xml");

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.

Here is the call graph for this function:

template<typename _Tp >
static Ptr<_Tp> cv::Algorithm::loadFromString ( const String strModel,
const String objname = String() 
)
inlinestaticinherited

Loads algorithm from a String.

Parameters
strModelThe string variable containing the model you want to load.
objnameThe 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):

Ptr<SVM> svm = Algorithm::loadFromString<SVM>(myStringModel);

References CV_WRAP, cv::Ptr< T >::empty(), cv::FileNode::empty(), cv::FileStorage::getFirstTopLevelNode(), cv::FileStorage::MEMORY, and cv::FileStorage::READ.

Here is the call graph for this function:

virtual void cv::Algorithm::read ( const FileNode fn)
inlinevirtualinherited

Reads algorithm parameters from a file storage.

Reimplemented in cv::FlannBasedMatcher, cv::DescriptorMatcher, and cv::Feature2D.

template<typename _Tp >
static Ptr<_Tp> cv::Algorithm::read ( const FileNode fn)
inlinestaticinherited

Reads algorithm from the file node.

This is static template method of Algorithm. It's usage is following (in the case of SVM):

cv::FileStorage fsRead("example.xml", FileStorage::READ);
Ptr<SVM> svm = Algorithm::read<SVM>(fsRead.root());

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().

Here is the call graph for this function:

virtual void cv::Algorithm::save ( const String filename) const
virtualinherited

Saves the algorithm to a file.

In order to make this method work, the derived class must implement Algorithm::write(FileStorage& fs).

virtual void cv::cuda::SparsePyrLKOpticalFlow::setMaxLevel ( int  maxLevel)
pure virtual
virtual void cv::cuda::SparsePyrLKOpticalFlow::setNumIters ( int  iters)
pure virtual
virtual void cv::cuda::SparsePyrLKOpticalFlow::setUseInitialFlow ( bool  useInitialFlow)
pure virtual
virtual void cv::cuda::SparsePyrLKOpticalFlow::setWinSize ( Size  winSize)
pure virtual
virtual void cv::Algorithm::write ( FileStorage fs) const
inlinevirtualinherited

Stores algorithm parameters in a file storage.

Reimplemented in cv::FlannBasedMatcher, cv::DescriptorMatcher, and cv::Feature2D.

void cv::Algorithm::writeFormat ( FileStorage fs) const
protectedinherited

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