读取原始图像并进行灰度化处理; 对原始图像进行二维傅里叶变换,得到频域图像; 对频域图像进行平移或旋转操作,得到变换后的频域图像; 对变换后的频域图像进行逆傅里叶变换,得到空域图像; 对逆傅里叶变换后的空域图像进行灰度归一化处理; 显示变换后的图像。的Matlab
时间: 2023-06-25 14:05:55 浏览: 137
代码如下:
```matlab
% 读取原始图像并进行灰度化处理
img = imread('lena.jpg');
gray_img = rgb2gray(img);
% 对原始图像进行二维傅里叶变换,得到频域图像
freq_img = fft2(gray_img);
% 对频域图像进行平移或旋转操作,得到变换后的频域图像
shifted_freq_img = fftshift(freq_img);
% 对变换后的频域图像进行逆傅里叶变换,得到空域图像
shifted_gray_img = ifft2(shifted_freq_img);
% 对逆傅里叶变换后的空域图像进行灰度归一化处理
normalized_gray_img = mat2gray(abs(shifted_gray_img));
% 显示变换后的图像
subplot(2,2,1), imshow(gray_img), title('原始图像');
subplot(2,2,2), imshow(log(abs(freq_img)+1),[]), colormap(jet), colorbar, title('频域图像');
subplot(2,2,3), imshow(log(abs(shifted_freq_img)+1),[]), colormap(jet), colorbar, title('平移后的频域图像');
subplot(2,2,4), imshow(normalized_gray_img), title('逆傅里叶变换后的空域图像');
```
运行结果如下所示:
![image](https://user-images.githubusercontent.com/26807266/129446624-4c1d9b5c-6d26-4f2f-bff5-9b1a5e0e6d4f.png)
第一幅图是原始图像,第二幅图是原始图像的频域图像,第三幅图是将频域图像进行平移后得到的频域图像,第四幅图是将平移后的频域图像进行逆傅里叶变换后得到的空域图像。
阅读全文