[][src]Function opencv::core::invert

pub fn invert(
    src: &dyn ToInputArray,
    dst: &mut dyn ToOutputArray,
    flags: i32
) -> Result<f64>

Finds the inverse or pseudo-inverse of a matrix.

The function cv::invert inverts the matrix src and stores the result in dst . When the matrix src is singular or non-square, the function calculates the pseudo-inverse matrix (the dst matrix) so that norm(src*dst - I) is minimal, where I is an identity matrix.

In case of the #DECOMP_LU method, the function returns non-zero value if the inverse has been successfully calculated and 0 if src is singular.

In case of the #DECOMP_SVD method, the function returns the inverse condition number of src (the ratio of the smallest singular value to the largest singular value) and 0 if src is singular. The SVD method calculates a pseudo-inverse matrix if src is singular.

Similarly to #DECOMP_LU, the method #DECOMP_CHOLESKY works only with non-singular square matrices that should also be symmetrical and positively defined. In this case, the function stores the inverted matrix in dst and returns non-zero. Otherwise, it returns 0.

Parameters

  • src: input floating-point M x N matrix.
  • dst: output matrix of N x M size and the same type as src.
  • flags: inversion method (cv::DecompTypes)

See also

solve, SVD

C++ default parameters

  • flags: DECOMP_LU