MATLAB 傅里叶变化后的频谱图
1. 首先,先从MATLAB当中读取一幅图:
img = imread('cat.jpg') %'cat.jpg'可替换为完整路径
2. 对图像进行灰度变换:
I = rgb2gray(I);
f = double(I); % 转为double
3. 傅里叶变化
g = fft2(f); % 2D Fast Fourier Transform
g = fftshift(g); % 中心化处理
4. 将复数变成实数,并压缩数据范围:
return_img = log(1+abs(g));
5. 由于数据的范围约为0~5, 对其进行标准化,使其值范围为:[0,255]:
return_img = uint8(mat2gray(return_img) * 255);
6. 显示频谱图:
imshow(uint8(return_img));
7. 保存频谱图:
imwrite(result_img, filepath); % filepath为保存路径,包括图片名字和格式

