数字图像处理 噪声的去除 流程和代码
时间: 2024-03-27 10:34:56 浏览: 54
数字图像处理中噪声的去除通常需要经过以下步骤:
1. 选择合适的去噪算法:根据噪声类型和噪声强度,选择合适的去噪算法,比如均值滤波、中值滤波、高斯滤波、小波变换等。
2. 加载图像:使用 Matlab 的 imread 函数加载需要处理的图像。
3. 添加噪声:使用 Matlab 的 imnoise 函数给图像添加噪声,可以添加高斯噪声、椒盐噪声、泊松噪声等。
4. 进行去噪处理:根据选择的算法,使用 Matlab 提供的相应函数对图像进行去噪处理。
5. 显示和保存处理结果:使用 Matlab 的 imshow 函数显示处理后的图像,并使用 imwrite 函数将结果保存到本地。
下面是一个简单的 Matlab 代码示例,演示了如何对添加了高斯噪声的图像进行均值滤波去噪处理:
```matlab
% 加载图像
img = imread('lena.jpg');
% 添加高斯噪声
noisy_img = imnoise(img, 'gaussian', 0, 0.01);
% 进行均值滤波去噪处理
denoised_img = imfilter(noisy_img, fspecial('average', [3 3]));
% 显示处理结果
subplot(1, 2, 1);
imshow(noisy_img);
title('Noisy Image');
subplot(1, 2, 2);
imshow(denoised_img);
title('Denoised Image');
% 保存处理结果
imwrite(denoised_img, 'denoised_lena.jpg');
```
注:代码中使用了 fspecial 函数生成了一个 3x3 的均值滤波模板,也可以使用 Matlab 的其他滤波函数,比如 medfilt2、wiener2 等。
阅读全文