OpenCV中,使用cvInvert函数,可以求解举证的模拟逆矩阵。
cvInvert共有三个参数。
第一个参数, 待求解的矩阵
第二个参数, 逆矩阵
第三个参数, 求解方式 可选值 CV_LU, CV_SVD, CV_SVD_SYM
CV_LU : 高斯消去法 (LU 分解)
CV_SVD : 奇异值分解(SVD)
CV_SVD_SYM : 对称矩阵的SVD
代码如下:
#include<cv.h>
#include<cxcore.h>
#include<highgui.h>
void matSet(CvMat *mat, float value[])
{
int k = 0;
for (int i = 0; i < mat->rows; i++) {
for (int j = 0; j < mat->cols; j++) {
cvmSet (mat, i, j, value[k++]);
}
}
}
// Print Matrix
void printMatrix(CvMat *mat)
{
int k = 0;
for (int i = 0; i < mat->rows; i++) {