小波变换 Matlab图像去燥的实验
时间: 2023-12-08 16:05:29 浏览: 36
好的,以下是一个基于小波变换的 Matlab 图像去燥实验的示例代码:
```matlab
% 读取原始图像
img = imread('lena.png');
figure, imshow(img), title('Original Image');
% 添加高斯噪声
noise_img = imnoise(img, 'gaussian', 0, 0.01);
figure, imshow(noise_img), title('Noisy Image');
% 进行小波变换
[C, S] = wavedec2(noise_img, 3, 'db4');
% 设置阈值
thr = wthrmngr('dw2ddenoLVL', C);
% 进行基于软阈值的小波去噪
sorh = 's'; % 指定软阈值
keepapp = 1; % 保留近似分量
denoised_C = wthresh(C, sorh, thr);
denoised_img = waverec2(denoised_C, S, 'db4');
% 显示去噪后的图像
figure, imshow(denoised_img), title('Denoised Image');
```
上述代码中,我们首先读取了原始图像 `lena.png`,然后添加了一些高斯噪声,得到了 `noise_img`。接着,我们使用 `wavedec2` 函数对 `noise_img` 进行了三层小波分解,并计算出了阈值 `thr`。然后,我们使用 `wthresh` 函数对小波系数进行软阈值去噪,并使用 `waverec2` 函数进行重构,得到去噪后的图像 `denoised_img`,最后将其显示出来。
你可以尝试将上述代码保存为一个 `.m` 文件,并在 Matlab 中运行它,以查看实验结果。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)