【发布时间】:2018-06-05 09:52:08
【问题描述】:
在尝试在 Matlab 中复制光学傅里叶变换时,我执行了以下操作:
我将此 512x512 图像加载为“dot512r”:
然后做了:
>> 谁的dot512r 名称大小字节类属性 dot512r 512x512x3 786432 uint8 >> bwimg=rgb2gray(dot512r); >> 谁是bwimg 名称大小字节类属性 bwimg 512x512 262144 uint8 >> ftimg=fft2(bwimg); >> 图 >> imshow(log(fftshift(ftimg))/10.0);然后我做了逆 fft 并显示如下:
>> iftimg=ifft2(ftimg); >> imshow(iftimg);这导致了以下图像,其中我用红色箭头标记了异常。我可以接受白条左上角和左下角的两个小像素“错误”,但图像左上角的大异常让我感到困惑。与我对 512x512 图像所做的其他几种形状相同的异常情况。
我不明白我做错了什么。
【问题讨论】:
-
您确认
bwimg没有这些异常吗?你还能确认imag(iftimg)是零吗? -
我查看了 bwimg,它没有异常。如果您只执行以下命令,可以看到与上述相同的输出异常:imshow(ifft2(fft2(bwimg)));