Levenberg-Marquardt solver. More...
#include <opencv2/calib3d.hpp>
Classes | |
class | Callback |
Public Member Functions | |
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 | getMaxIters () const =0 |
Retrieves the current maximum number of iterations. More... | |
virtual void | read (const FileNode &fn) |
Reads algorithm parameters from a file storage. More... | |
virtual int | run (InputOutputArray param) const =0 |
Runs Levenberg-Marquardt algorithm using the passed vector of parameters as the start point. More... | |
virtual void | save (const String &filename) const |
Saves the algorithm to a file. More... | |
virtual void | setMaxIters (int maxIters)=0 |
Sets the maximum number of iterations. 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< LMSolver > | create (const Ptr< LMSolver::Callback > &cb, int maxIters) |
Creates Levenberg-Marquard solver. More... | |
static Ptr< LMSolver > | create (const Ptr< LMSolver::Callback > &cb, int maxIters, double eps) |
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 |
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.
|
inlinevirtualinherited |
Clears the algorithm state.
Reimplemented in cv::FlannBasedMatcher, and cv::DescriptorMatcher.
|
static |
Creates Levenberg-Marquard solver.
cb | callback |
maxIters | maximum number of iterations that can be further modified using setMaxIters() method. |
|
static |
|
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.
|
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 |
Retrieves the current maximum number of iterations.
|
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)
|
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.
param | initial/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.
|
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 |
Sets the maximum number of iterations.
maxIters | the number of iterations |
|
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 |