图像去噪Matlab代码
时间: 2023-07-02 14:13:56 浏览: 94
该程序为小波图像去噪的matlab原代码,内容很丰富,大家可以共享
以下是Matlab中几种常用的图像去噪方法的代码:
1. 中值滤波:
```matlab
img = imread('lena.jpg');
noise_img = imnoise(img, 'salt & pepper', 0.05); % 加入椒盐噪声
med_img = medfilt2(noise_img, [3 3]); % 中值滤波
imshow(med_img);
```
2. 高斯滤波:
```matlab
img = imread('lena.jpg');
noise_img = imnoise(img, 'gaussian', 0.02); % 加入高斯噪声
h = fspecial('gaussian', [5 5], 2); % 高斯滤波器
gauss_img = imfilter(noise_img, h, 'symmetric'); % 高斯滤波
imshow(gauss_img);
```
3. 双边滤波:
```matlab
img = imread('lena.jpg');
noise_img = imnoise(img, 'gaussian', 0.02); % 加入高斯噪声
bf_img = imbilatfilt(noise_img); % 双边滤波
imshow(bf_img);
```
4. 小波去噪:
```matlab
img = imread('lena.jpg');
noise_img = imnoise(img, 'gaussian', 0.02); % 加入高斯噪声
[thr, sorh, keepapp] = ddencmp('den', 'wv', noise_img); % 计算阈值
denoised_img = wdencmp('gbl', noise_img, 'sym4', 2, thr, sorh, keepapp); % 小波去噪
imshow(denoised_img);
```
以上是常用的几种图像去噪方法的Matlab代码,根据具体需求可以选择不同的方法或者组合使用。
阅读全文