opencv求矩阵的逆_OpenCV中LU分解实现矩阵求逆invert(DECOMP_LU)

本文介绍了在OpenCV3.0中使用LU分解来求解矩阵的逆,通过对比不同方法的耗时,指出LU分解因耗时短且对输入矩阵限制较小而成为重点。LU分解的实现原理是通过初等行变换,避免除法并转化为乘法。文章还提及了矩阵求逆的定点化实现,将在后续博客分享相关代码。
摘要由CSDN通过智能技术生成

OpenCV3.0中实现矩阵求逆有四种方法(LU、cholesky、eig以及SVD),使用187*187矩阵测试,100轮计算耗时如下(cholesky方法并没有得到结果):

0818b9ca8b590ca3270a3433284dd417.png

179*179矩阵测试,100轮耗时如下:

0818b9ca8b590ca3270a3433284dd417.png

Cholesky方法对输入矩阵限制严格(共轭对称和正定矩阵)LU分解耗时较短且对输入矩阵没有限制,因此重点对LU分解进行分析。其实现源码如下

LU分解比列主元消去法耗时短很多。

OpenCV实现的LU分解并没有按照原始的LU分解求解L和U矩阵的逆然后再进行矩阵乘法。

0818b9ca8b590ca3270a3433284dd417.png

其思想是对增广矩阵做初等行变换,为了将除法转换为乘法,将对角线矩阵设置为其倒数,后面只计算乘法即可。由于工作需求,需要将其进行定点化在DSP上实现,下一篇博客分享定点化代码。

// LU decompose method to solv

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值