- 进入 Matlab 7.11 集成开发环境,并打开脚本编辑器。
- 在脚本编辑器中编写一段程序,要求:
(1) 读入存放在 eight.tif 中的原始图像;
(2) 调用 imnoise 函数向该图像中添加 2% 的椒盐噪声 ( 参数为“ salt &pepper ” ) ;
(3) 在同一窗口中,显示原始图像和加噪后的图像;
(4) 将编写的程序保存为 Example3_2_5AddSaltPepper1.m 。
- 修改上述程序,将添加的噪声改为均值为 0 、方差为 0.001 的高斯噪声 ( 参数为“ gaussian ” ) ,并将编写的程序另存为 Example3_2_5AddSaltPepper2.m 。
- 运行这两个程序,修改噪声类型和参数大小,比较噪声对原始图像的影响。
- 在脚本编辑器中编写一段程序,要求:
(1) 读入存放在 eight.tif 中的原始图像;
(2) 分别向该图像中添加椒盐噪声;
(3) 分别对加噪图像进行 3× 3 平均值滤波和中值滤波,并在同一窗口中,显示原始图像、加噪后的图像和两种滤波结果图像;
(4) 将编写的程序保存为 Example3_2_6MedianFilter1.m 。
- 修改上述程序,将添加的噪声改为均值为 0 、方差为 0.001 的高斯噪声 ( 参数为“ gaussian ” ) ,并将编写的程序另存为 Example3_2_6MedianFilter2.m 。
- 运行这两个程序,修改噪声类型和参数大小,比较不同滤波方法的滤波效果
clear;
clc;
TIF=imread('eight.tif');
J=imnoise(TIF,'salt & pepper',0.02);
H.color=[1 1 1];
figure(H);
subplot(121);
imshow(J);
title('0.02加噪图');
subplot(122);
imshow(TIF);
title('原图');
clear;
clc;
TIF=imread('eight.tif');
J=imnoise(TIF,'gaussian',0,0.01);
H.color=[1 1 1];
figure(H);
subplot(121);
imshow(J);
title('均值为 0、方差为 0.001 的高斯噪声图');
subplot(122);
imshow(TIF);
title('原图');
clear;
clc;
TIF=imread('eight.tif');
J=imnoise(TIF,'salt & pepper',0.02);
J=rgb2gray(J);
Y=ones(3,3)/9;
B_1=imfilter(J,Y);
B_2=medfilt2(J);
H.color=[1 1 1];
figure(H);
subplot(221);
imshow(TIF);
title('原图');
subplot(222);
imshow(J);
title('0.02加噪图');
subplot(223);
imshow(B_1);
title('3×3平均值滤波图');
subplot(224);
imshow(B_2);
title('中值滤波图');
clear;
clc;
TIF=imread('eight.tif');
J=imnoise(TIF,'gaussian',0,0.01);
J=rgb2gray(J);
Y=ones(3,3)/9;
B_1=imfilter(J,Y);
B_2=medfilt2(J);
H.color=[1 1 1];
figure(H);
subplot(221);
imshow(TIF);
title('原图');
subplot(222);
imshow(J);
title('均值为 0、方差为 0.001 的高斯噪声图');
subplot(223);
imshow(B_1);
title('3×3平均值滤波图');
subplot(224);
imshow(B_2);
title('中值滤波图');