Function opencv::core::invert

source ·
pub fn invert(
    src: &impl ToInputArray,
    dst: &mut impl ToOutputArray,
    flags: i32
) -> Result<f64>
Expand description

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