急! opencv 怎么实现矩阵的除法?

tbamboo 2010-05-05 04:24:19
如题~用OPENCV或者C++也好,怎么实现矩阵的除法?(不是点除)谢谢~~~
...全文
753 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
theplayerwuliang 2010-05-07
  • 打赏
  • 举报
回复
invert求逆
tbamboo 2010-05-07
  • 打赏
  • 举报
回复
问题解决了~cvInvert的第三个参数,我一直用的default的值,CV_LU是必须得方阵,而CV_SVD不用方阵,可以求伪逆矩阵。谢谢xiuxianshen~~耐心的把函数都贴出来~
xiuxianshen 2010-05-06
  • 打赏
  • 举报
回复
矩阵是没有除法的,你所谓的矩阵除法其实就是与其逆矩阵的乘法
opencv中矩阵乘法是cvGEMM

void 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

逆矩阵是cvInvert

double 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。
tbamboo 2010-05-05
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 theplayerwuliang 的回复:]
有函数吧?
[/Quote]
函数?什么意思? cvInvert?

前面的错了
tbamboo 2010-05-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 tbamboo 的回复:]
cvInvert()函数必须得是方阵吧。。我的矩阵不是方阵。。。n*2的矩阵。。。楼上麻烦能说得详细点吗?~谢谢~~
[/Quote]
函数?什么意思? cvInvert?
theplayerwuliang 2010-05-05
  • 打赏
  • 举报
回复
有函数吧?
tbamboo 2010-05-05
  • 打赏
  • 举报
回复
cvInvert()函数必须得是方阵吧。。我的矩阵不是方阵。。。n*2的矩阵。。。楼上麻烦能说得详细点吗?~谢谢~~
洗洗睡去 2010-05-05
  • 打赏
  • 举报
回复
google Gauss-Jordan法
洗洗睡去 2010-05-05
  • 打赏
  • 举报
回复
就是矩阵求逆了

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧