【问题标题】:How to combine the phase of one image and magnitude of different image? [closed]如何结合一张图像的相位和不同图像的幅度? [关闭]
【发布时间】:2014-10-09 18:22:05
【问题描述】:

我有两个图像IJ,我用X=fft(I)Y=fft(J) 进行傅里叶变换,然后我分别取'X' 和'Y' 的相位和幅度。

问题是我需要结合X的相位和Y的幅度来形成一个新图像,并使用ifft重建这个新图像,如何在MATLAB中做到这一点?

【问题讨论】:

  • “合并”是什么意思?
  • 我只能建议在 DFT 上投入大量时间。无论如何,您可以像这样组合:abs(F_x).*exp(i*angle(F_Y)); 其中F_x 是 X 的 FFT
  • 看看这个话题link,我想他们问的和你一样。他们只使用一张图像进行恢复,但您可以使用不同图像的实部和虚部

标签: image matlab image-processing fft


【解决方案1】:

二维傅里叶谱的幅度和相位可以表示为一个复数的相位和绝对值。对于 Matlab 中的图像,它由一个 2D 复数数组组成。您可以像这样创建一个合并幅度和相位的二维复数数组:

FreqDomain = abs(Y).*exp(i*angle(X));

并将其反馈给ifft2

注意:使用fft2 计算图像的二维 FFT。

编辑:事实上,您在此页面上的问题有一个完整的示例:http://matlabgeeks.com/tips-tutorials/how-to-do-a-2-d-fourier-transform-in-matlab/

【讨论】:

    猜你喜欢
    • 2019-02-18
    • 1970-01-01
    • 1970-01-01
    • 2021-01-30
    • 1970-01-01
    • 2016-10-30
    • 1970-01-01
    • 2010-09-06
    • 1970-01-01
    相关资源
    最近更新 更多