Loading...
Searching...
No Matches

#include <opencv2/calib3d.hpp>

Inheritance diagram for cv::LMSolver:
cv::Algorithm

Classes

class  Callback
 

Public Member Functions

virtual int getMaxIters () const =0
 
virtual int run (InputOutputArray param) const =0
 
virtual void setMaxIters (int maxIters)=0
 
- 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< LMSolvercreate (const Ptr< LMSolver::Callback > &cb, int maxIters)
 
static Ptr< LMSolvercreate (const Ptr< LMSolver::Callback > &cb, int maxIters, double eps)
 
- 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

Levenberg-Marquardt solver. Starting with the specified vector of parameters it optimizes the target vector criteria "err" (finds local minima of each target vector component absolute value).

When needed, it calls user-provided callback.

Member Function Documentation

◆ create() [1/2]

static Ptr< LMSolver > cv::LMSolver::create ( const Ptr< LMSolver::Callback > &  cb,
int  maxIters 
)
static

Creates Levenberg-Marquard solver

Parameters
cbcallback
maxItersmaximum number of iterations that can be further modified using setMaxIters() method.

◆ create() [2/2]

static Ptr< LMSolver > cv::LMSolver::create ( const Ptr< LMSolver::Callback > &  cb,
int  maxIters,
double  eps 
)
static

◆ getMaxIters()

virtual int cv::LMSolver::getMaxIters ( ) const
pure virtual

Retrieves the current maximum number of iterations

◆ run()

virtual int cv::LMSolver::run ( InputOutputArray  param) const
pure virtual

Runs Levenberg-Marquardt algorithm using the passed vector of parameters as the start point. The final vector of parameters (whether the algorithm converged or not) is stored at the same vector. The method returns the number of iterations used. If it's equal to the previously specified maxIters, there is a big chance the algorithm did not converge.

Parameters
paraminitial/final vector of parameters.

Note that the dimensionality of parameter space is defined by the size of param vector, and the dimensionality of optimized criteria is defined by the size of err vector computed by the callback.

◆ setMaxIters()

virtual void cv::LMSolver::setMaxIters ( int  maxIters)
pure virtual

Sets the maximum number of iterations

Parameters
maxItersthe number of iterations

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