opencv 2.2.0

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
cv::SVD Class Reference

`#include <core.hpp>`

## Public Types
enum | { MODIFY_A =1, NO_UV =2, FULL_UV =4 }

## Public Member Functions
void | backSubst (const Mat &rhs, CV_OUT Mat &dst) const
| performs back substitution, so that dst is the solution or pseudo-solution of m*dst = rhs, where m is the decomposed matrix
SVD & | operator() (const Mat &src, int flags=0)
| the operator that performs SVD. The previously allocated SVD::u, SVD::w are SVD::vt are released.
| SVD ()
| the default constructor
| SVD (const Mat &src, int flags=0)
| the constructor that performs SVD

## Static Public Member Functions
static void | backSubst (const Mat &w, const Mat &u, const Mat &vt, const Mat &rhs, CV_OUT Mat &dst)
| performs back substitution
template<typename _Tp , int m, int n, int nm, int nb>
static void | backSubst (const Matx< _Tp, nm, 1 > &w, const Matx< _Tp, m, nm > &u, const Matx< _Tp, n, nm > &vt, const Matx< _Tp, m, nb > &rhs, Matx< _Tp, n, nb > &dst)
static void | compute (const Mat &src, CV_OUT Mat &w, CV_OUT Mat &u, CV_OUT Mat &vt, int flags=0)
| decomposes matrix and stores the results to user-provided matrices
static void | compute (const Mat &src, CV_OUT Mat &w, int flags=0)
| computes singular values of a matrix
template<typename _Tp , int m, int n, int nm>
static void | compute (const Matx< _Tp, m, n > &a, Matx< _Tp, nm, 1 > &w, Matx< _Tp, m, nm > &u, Matx< _Tp, n, nm > &vt)
template<typename _Tp , int m, int n, int nm>
static void | compute (const Matx< _Tp, m, n > &a, Matx< _Tp, nm, 1 > &w)
static void | solveZ (const Mat &src, CV_OUT Mat &dst)
| finds dst = arg min_{|dst|=1} |m*dst|

## Public Attributes
Mat | u
Mat | vt
Mat | w

## Detailed Description

Singular Value Decomposition class

The class is used to compute Singular Value Decomposition of a floating-point matrix and then use it to solve least-square problems, under-determined linear systems, invert matrices, compute condition numbers etc.

For a bit faster operation you can pass flags=SVD::MODIFY_A|... to modify the decomposed matrix when it is not necessarily to preserve it. If you want to compute condition number of a matrix or absolute value of its determinant - you do not need SVD::u or SVD::vt, so you can pass flags=SVD::NO_UV|... . Another flag SVD::FULL_UV indicates that the full-size SVD::u and SVD::vt must be computed, which is not necessary most of the time.

## Member Enumeration Documentation

anonymous enum

Enumerator:

  MODIFY_A |
  NO_UV |
  FULL_UV |

## Constructor & Destructor Documentation

cv::SVD::SVD | ( |  | ) |
| inline

the default constructor

cv::SVD::SVD | ( | const Mat & | src,
|  | int | flags = `0`
| ) |  |
| inline

the constructor that performs SVD

## Member Function Documentation

static void cv::SVD::backSubst | ( | const Mat & | w,
|  | const Mat & | u,
|  | const Mat & | vt,
|  | const Mat & | rhs,
|  | CV_OUT Mat & | dst
| ) |  |
| static

performs back substitution

template<typename _Tp , int m, int n, int nm, int nb>

void cv::SVD::backSubst | ( | const Matx< _Tp, nm, 1 > & | w,
|  | const Matx< _Tp, m, nm > & | u,
|  | const Matx< _Tp, n, nm > & | vt,
|  | const Matx< _Tp, m, nb > & | rhs,
|  | Matx< _Tp, n, nb > & | dst
| ) |  |
| inline static

void cv::SVD::backSubst | ( | const Mat & | rhs,
|  | CV_OUT Mat & | dst
| ) |  | const

performs back substitution, so that dst is the solution or pseudo-solution of m*dst = rhs, where m is the decomposed matrix

static void cv::SVD::compute | ( | const Mat & | src,
|  | CV_OUT Mat & | w,
|  | CV_OUT Mat & | u,
|  | CV_OUT Mat & | vt,
|  | int | flags = `0`
| ) |  |
| static

decomposes matrix and stores the results to user-provided matrices

static void cv::SVD::compute | ( | const Mat & | src,
|  | CV_OUT Mat & | w,
|  | int | flags = `0`
| ) |  |
| static

computes singular values of a matrix

template<typename _Tp , int m, int n, int nm>

void cv::SVD::compute | ( | const Matx< _Tp, m, n > & | a,
|  | Matx< _Tp, nm, 1 > & | w,
|  | Matx< _Tp, m, nm > & | u,
|  | Matx< _Tp, n, nm > & | vt
| ) |  |
| inline static

template<typename _Tp , int m, int n, int nm>

void cv::SVD::compute | ( | const Matx< _Tp, m, n > & | a,
|  | Matx< _Tp, nm, 1 > & | w
| ) |  |
| inline static

SVD& cv::SVD::operator() | ( | const Mat & | src,
|  | int | flags = `0`
| ) |  |

the operator that performs SVD. The previously allocated SVD::u, SVD::w are SVD::vt are released.

void cv::SVD::solveZ | ( | const Mat & | src,
|  | CV_OUT Mat & | dst
| ) |  |
| inline static

finds dst = arg min_{|dst|=1} |m*dst|

## Member Data Documentation

Mat cv::SVD::u

Mat cv::SVD::vt

Mat cv::SVD::w

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

- /usr/obj/OpenCV-2.2.0/OpenCV-2.2.0/modules/core/include/opencv2/core/core.hpp
- /usr/obj/OpenCV-2.2.0/OpenCV-2.2.0/modules/core/include/opencv2/core/mat.hpp