OpenCV学习之SVD技术进行图像分解与重构

本文介绍了如何使用OpenCV库中的SVD(奇异值分解)功能对图像矩阵进行分解和重构。通过选取不同数量的特征值,展示了如何减少图像存储需求并实现图像压缩。SVD::compute()函数的使用和注意事项也在文中进行了说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简述

  上一篇博文算法学习之SVD理论推导介绍了SVD矩阵分解的完整过程,感兴趣的可以去阅读一下。本文以图像为基础,利用SVD理论对二维图像矩阵进行分解,同时选取不同的特征值个数来对图像进行重构。主要使用OpenCV第三方视觉库完成SVD应用过程,原谅我这个调包小虾米。

  使用OpenCV库的SVD功能API函数时,简短说一下SVD的分解矩阵,我们通过对图像矩阵 A A A( m × n m×n m×n,其中 m > n m>n m>n)表示分解为 U U U ∑ ∑ V V V后,我们从对角矩阵 ∑ ∑ 中选取有限( k k k)个特征值保存,这些特征值对应的 U U U V V V中的一维向量 u i u_i ui v i v_i vi也对应保存,这样就可以用较少的特征值与特征向量来代表整个矩阵 A A A

假设图像矩阵 A A A的完整表示如下:

A = σ 1 u 1 v 1 T + σ 2 u 2 v 2 T + ⋯ + σ n u n v n T A=σ_1 u_1 v_1^T+σ_2 u_2 v_2^T+⋯+σ_n u_n v_n^T A=σ1u1v1T+σ2u2v2T++σnunvnT

  图像矩阵 A A A( m × n m×n

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值