圆形状、特殊的频谱图如何生成

有人知道这种频谱图是怎么生成的吗?
我拿其他图做傅里叶变换生成的频谱图都没有这样的。

img

img

我在百度找到了一篇文章,希望对你有用,如果有用能采纳一下吗。
网址:https://jingyan.baidu.com/article/fea4511a70d43ab6ba91251f.html

傅里叶变换的频谱图可以通过matlab中的fft2函数实现。首先,我们需要读取输入图像,然后进行傅里叶变换,最后取得其幅度谱图和相位谱图。

% 读取输入图像
image = imread('input.png');

% 进行傅里叶变换
fft_image = fftshift(fft2(image));

% 取得幅度谱图
amplitude_spectrum = log(1 + abs(fft_image));
amplitude_spectrum = amplitude_spectrum / max(amplitude_spectrum(:));
amplitude_spectrum = im2uint8(amplitude_spectrum);

% 取得相位谱图
phase_spectrum = angle(fft_image);
phase_spectrum = im2uint8((phase_spectrum + pi) / (2 * pi));

% 显示幅度谱图和相位谱图
subplot(1,2,1);
imshow(amplitude_spectrum);
title('Amplitude Spectrum');
subplot(1,2,2);
imshow(phase_spectrum);
title('Phase Spectrum');

请注意,读取图像和保存图像需要根据实际情况进行调整。另外,由于幅度谱和相位谱的数值范围可能不同,因此可能需要根据需要进行归一化或调整灰度级别。