【问题标题】:MatLab - IFFT of an image is complex [duplicate]MatLab - 图像的IFFT很复杂[重复]
【发布时间】:2020-08-02 20:41:55
【问题描述】:

我正在使用图像的fft2,它给了我一个复杂的矩阵,但是当我用ifft2 将它转换回来时,结果也是一个复杂的矩阵,它不是原始图像。这里会发生什么?

image=('file.png');
F_image=fft2(moon);
IF_image=ifft2(F_image);

【问题讨论】:

  • ifft2 将返回复杂数据,即使 fft2 中的原始数据由于舍入错误是真实的。使用ifft2(F_image,'symmetric')仔细查看matlab文档
  • 好的,这强制输出是真实的,但我没有得到原始图像。
  • 你不能把IF_image的虚部去掉吗?它会非常小,而且你知道它只是由舍入错误引起的
  • 问题实际上出在我的输入文件中。谢谢。
  • 你的答案在这里:stackoverflow.com/questions/3729235/…

标签: matlab fft ifft


【解决方案1】:

由于近似,IFFT的输出有虚部,但它们的幅度会太小。您可以忽略它们,您将获得几乎相同的图像。

img = imread("c.jpg");
img_gray = rgb2gray(img);
imgfft = fft2(double(img_gray));
opimg = uint8(real(ifft2(imgfft)));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-26
    • 1970-01-01
    相关资源
    最近更新 更多