首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何利用奇异值分解重建修改后的原始图像

如何利用奇异值分解重建修改后的原始图像
EN

Stack Overflow用户
提问于 2014-02-19 20:28:57
回答 1查看 2K关注 0票数 1

我已经使用svd分解了我的图像,并通过添加矩阵修改了奇异值,假设是A。我怎样才能取回这个矩阵A

例如:

代码语言:javascript
运行
复制
 m=[1 2 3; 4 5 6; 7 8 9];
 [u s v]= svd(m);
 A=[0 2 1; 3 5 6; 8 9 4];
 sw= s+A;
 new= u*sw*v;

现在,我如何从matrix new取回我的矩阵A

EN

回答 1

Stack Overflow用户

发布于 2014-02-19 21:36:08

要根据usv给出的奇异值分解重构A,您可以使用

代码语言:javascript
运行
复制
m_rec = u*s*v';

因此,在这种情况下,只需将s替换为sw

代码语言:javascript
运行
复制
m_rec = u*sw*v';

也就是说,在矩阵new中只缺少一个共轭转置(')。

然而,您应用于s的修改似乎太大了,而且它甚至不是对角线,因此您不能正确地重建m。如果修改很小,你就会这么做。例如:

代码语言:javascript
运行
复制
>> sw = s + diag(.1*randn(1,3));
>> m_rec = u*sw*v'
m_rec =
    0.9987    1.9977    3.0348
    4.0070    5.0543    6.0256
    7.0533    8.0348    9.0543
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21880513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档