如题~用OPENCV或者C++也好,怎么实现矩阵的除法?(不是点除)谢谢~~~

解决方案 »

  1.   

    cvInvert()函数必须得是方阵吧。。我的矩阵不是方阵n*2的矩阵楼上麻烦能说得详细点吗?~谢谢~~
      

  2.   

    函数?什么意思? cvInvert?
      

  3.   

    函数?什么意思? cvInvert?前面的错了
      

  4.   

    矩阵是没有除法的,你所谓的矩阵除法其实就是与其逆矩阵的乘法
    opencv中矩阵乘法是cvGEMMvoid cvGEMM( const CvArr* src1, const CvArr* src2, double alpha,
    const CvArr* src3, double beta, CvArr* dst, int tABC=0 );
    #define cvMatMulAdd( src1, src2, src3, dst ) cvGEMM( src1, src2, 1, src3, 1, dst, 0 )
    #define cvMatMul( src1, src2, dst ) cvMatMulAdd( src1, src2, 0, dst )
    src1 
    第一输入数组 
    src2 
    第二输入数组 
    src3 
    第三输入数组 (偏移量),如果没有偏移量,可以为空( NULL) 。 
    dst 
    输出数组 
    tABC 
    T操作标志,可以是 0 或者下面列举的值的组合: 
    CV_GEMM_A_T - 转置 src1 
    CV_GEMM_B_T - 转置 src2 
    CV_GEMM_C_T - 转置 src3 逆矩阵是cvInvertdouble cvInvert( const CvArr* src, CvArr* dst, int method=CV_LU );
    #define cvInv cvInvert
    src 
    输入矩阵 
    dst 
    目标矩阵 
    method 
    求逆方法: 
    CV_LU -最佳主元选取的高斯消除法 
    CV_SVD - 奇异值分解法 (SVD) 
    CV_SVD_SYM - 正定对称矩阵的 SVD 方法 
    函数 cvInvert 对矩阵 src 求逆并将结果存储到 dst。
      

  5.   

    问题解决了~cvInvert的第三个参数,我一直用的default的值,CV_LU是必须得方阵,而CV_SVD不用方阵,可以求伪逆矩阵。谢谢xiuxianshen~~耐心的把函数都贴出来~