| OpenCV 4.3.0 Open Source Computer Vision

Classes | Public Member Functions | Static Public Member Functions | List of all members
cv::LMSolver Class Referenceabstract
Camera Calibration and 3D Reconstruction

`#include <opencv2/calib3d.hpp>`

Inheritance diagram for cv::LMSolver:

## 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. More...
virtual bool | empty () const
| Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read. More...
virtual String | getDefaultName () const
virtual void | read (const FileNode &fn)
| Reads algorithm parameters from a file storage. More...
virtual void | save (const String &filename) const
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)
static Ptr< LMSolver > | create (const Ptr< LMSolver::Callback > &cb, int maxIters, double eps)
Static Public Member Functions inherited from cv::Algorithm
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...

## 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

  cb | callback
  maxIters | maximum 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

  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.

## ◆ setMaxIters()

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

Sets the maximum number of iterations

Parameters

  maxIters | the number of iterations

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

- opencv2/calib3d.hpp