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