【问题标题】:Image reconstruction from a sinogram via SVD, in MATLAB在 MATLAB 中通过 SVD 从正弦图重建图像
【发布时间】:2021-12-09 17:12:54
【问题描述】:

我的任务是在 MATLAB 中使用 SVD 从 367x180 正弦图重建 256x256 图像。

我使用 [U,S,V] = svd(true_sinogram); 运行 SVD 没有问题

这会产生 U (367 x 367)、S (367 x 180) 和 V (180 x 180)。我的问题是我不确定如何从中重建原始图像(不是正弦图)。

我尝试了 A = V.*S_recip.*U'; 的伪逆,其中 U' 是 U 的转置,S_recip 是 S 的倒数,但我得到一个“矩阵维度必须同意”错误。

原始元素的简单乘法只会产生原始的真实正弦图,我只能对其进行反向投影。将矩阵截断为 180x180 也不起作用。

有人有什么想法吗?我觉得我错过了一些明显的东西。谢谢!

【问题讨论】:

    标签: matlab svd matrix-inverse


    【解决方案1】:

    不仅仅是 S 的倒数,而是应该使用它的转置来找到伪逆。

    例如,如果A=U*S*V',则A 的伪逆将等于V*S_recip'*U',其中S_recip'S_recip 的转置,其大小为180 x 367。

    【讨论】:

      猜你喜欢
      • 2020-10-31
      • 2023-04-08
      • 2012-11-16
      • 1970-01-01
      • 2019-07-31
      • 2021-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多