MATLAB 实现图像的傅里叶变换、小波变换、中值滤波、高斯滤波
时间: 2023-07-27 16:27:32 浏览: 65
下面是 MATLAB 实现图像傅里叶变换、小波变换、中值滤波、高斯滤波的代码示例:
1. 图像傅里叶变换:
```matlab
% 读入图像
img = imread('lena.png');
% 傅里叶变换
ft_img = fft2(img);
% 将频谱零频分量移到频谱中心
ft_img = fftshift(ft_img);
% 对频谱进行对数变换
ft_img = log(1 + abs(ft_img));
% 显示傅里叶频谱图像
imshow(ft_img, []);
```
2. 图像小波变换:
```matlab
% 读入图像
img = imread('lena.png');
% 小波变换
[LL, LH, HL, HH] = dwt2(img, 'haar');
% 显示小波分解后的图像
subplot(2,2,1); imshow(LL, []);
subplot(2,2,2); imshow(LH, []);
subplot(2,2,3); imshow(HL, []);
subplot(2,2,4); imshow(HH, []);
```
3. 图像中值滤波:
```matlab
% 读入图像
img = imread('lena.png');
% 中值滤波
filtered_img = medfilt2(img);
% 显示滤波后的图像
imshow(filtered_img);
```
4. 图像高斯滤波:
```matlab
% 读入图像
img = imread('lena.png');
% 高斯滤波
filtered_img = imgaussfilt(img, 2);
% 显示滤波后的图像
imshow(filtered_img);
```
以上代码仅供参考,实际使用时需要根据具体需求进行修改。