MATLAB 语言进行 FFT 及逆变换的代码
时间: 2024-11-09 07:29:15 浏览: 8
使用 MATLAB 进行 FFT 及逆变换的代码如下:
### 读取图像并显示
```matlab
A = imread('F:\1\girl.bmp', 'bmp');
subplot(1,3,1);
imshow(A);
title('原图像');
```
### 进行傅立叶变换并显示频域振幅图像
```matlab
B = fftshift(fft2(A));
subplot(1,3,2);
imshow(log(abs(B)), [], 'notruesize');
title('二维傅立叶变换');
```
### 进行傅立叶逆变换并显示逆变换后的图像
```matlab
C = ifft2(B);
subplot(1,3,3);
imshow(log(abs(C)), [], 'notruesize');
title('逆变换后图像');
```
### 完整代码
```matlab
% 读取图像
A = imread('F:\1\girl.bmp', 'bmp');
% 显示原图像
subplot(1,3,1);
imshow(A);
title('原图像');
% 进行傅立叶变换
B = fftshift(fft2(A));
% 显示频域振幅图像
subplot(1,3,2);
imshow(log(abs(B)), [], 'notruesize');
title('二维傅立叶变换');
% 进行傅立叶逆变换
C = ifft2(B);
% 显示逆变换后的图像
subplot(1,3,3);
imshow(log(abs(C)), [], 'notruesize');
title('逆变换后图像');
```
这段代码首先读取图像文件 `girl.bmp`,然后对其进行傅立叶变换,并显示频域振幅图像。接着,通过傅立叶逆变换将图像恢复,并显示逆变换后的图像。
阅读全文