了解 Matlab 中的 FFT 输出
信息处理
图像处理
matlab
fft
图片
2022-02-20 15:36:27
3个回答
您应该尝试以下方法:
F = fft2(img);
figure; imagesc(abs(F));
在图像处理中,我们多次使用对数谱:
F = fft2(img);
figure; imagesc(log10(1 + abs(F)));
我对傅里叶变换很陌生
我建议从这里的数学开始。确保您了解公式以及为什么会这样。然后通过编写代码并手动计算结果的简单示例来逐步提高,以便您可以比较两者并了解代码的工作原理
- 从中间的单个非零像素开始。
- 将像素移动到不同的位置。走着瞧吧。请记住同时查看相位和幅度。
- 做一条水平线
- 做一条垂直线
- 移动和旋转一条线
- 做 2 或 3 个单独的像素
- 调制像素的强度
- 做一条有灰度的线
继续这样做,直到您可以通过代码和手动可靠地产生相同的结果。然后,您可以转到实际图像,看看您到目前为止所开发的直觉是否有用。
Y = fft2(x);
imagesc(10*log10(abs(fftshift(Y))));
其它你可能感兴趣的问题
