Matlab图像处理中的频谱图代码
时间: 2024-01-22 14:04:42 浏览: 97
matlab 频谱处理代码
5星 · 资源好评率100%
以下是一个在Matlab中绘制图像频谱图的示例代码:
```matlab
% 读入图像
img = imread('lena.jpg');
% 转换为灰度图像
gray_img = rgb2gray(img);
% 计算图像的傅里叶变换
fft_img = fft2(gray_img);
% 将低频分量移到中心
shifted_fft_img = fftshift(fft_img);
% 计算频谱图
magnitude_spectrum = log(1 + abs(shifted_fft_img));
% 显示原始图像和频谱图
subplot(1,2,1), imshow(gray_img), title('Original Image');
subplot(1,2,2), imshow(magnitude_spectrum, []), title('Magnitude Spectrum');
```
这个代码将读入一个名为“lena.jpg”的彩色图像,并将其转换为灰度图像。然后,它计算图像的二维傅里叶变换,将低频分量移到中心,并计算频谱图。最后,它使用subplot函数将原始图像和频谱图一起显示出来。注意,log函数用于增强高频部分的可视化效果。
阅读全文