数字图像处理实验六噪声添加和空域滤波
1. 进入 Matlab 7.11 集成开发环境,并打开脚本编辑器。
2. 在脚本编辑器中编写一段程序,要求:
(1) 读入存放在 eight.tif 中的原始图像;
(2) 调用 imnoise 函数向该图像中添加 2% 的椒盐噪声 ( 参数为“ salt &
pepper ” ) ;
(3) 在同一窗口中,显示原始图像和加噪后的图像;
(4) 将编写的程序保存为 Example3_2_5AddSaltPepper1.m 。
3. 修改上述程序,将添加的噪声改为均值为 0 、方差为 0.001 的高斯噪声 ( 参数
为“ gaussian ” ) ,并将编写的程序另存为 Example3_2_5AddSaltPepper2.m 。
4. 运行这两个程序,修改噪声类型和参数大小,比较噪声对原始图像的影响。
5. 在脚本编辑器中编写一段程序,要求:
(1) 读入存放在 eight.tif 中的原始图像;
(2) 分别向该图像中添加椒盐噪声;
(3) 分别对加噪图像进行 3× 3 平均值滤波和中值滤波,并在同一窗口中,
显示原始图像、加噪后的图像和两种滤波结果图像;
(4) 将编写的程序保存为 Example3_2_6MedianFilter1.m 。
6. 修改上述程序,将添加的噪声改为均值为 0 、方差为 0.001 的高斯噪声 ( 参数
为“ gaussian ” ) ,并将编写的程序另存为 Example3_2_6MedianFilter2.m 。
7. 运行这两个程序,修改噪声类型和参数大小,比较不同滤波方法的滤波效果
%%Example3_2_5AddSaltPepper1
clear;
clc;
TIF=imread('eight.tif');%%读入TIF图像
%%该图像中添加2%的椒盐噪声
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('原图');
%%Example3_2_5AddSaltPepper2
clear;
clc;
TIF=imread('eight.tif');%%读入TIF图像
%%将添加的噪声改为均值为0方差为0.001的高斯噪声
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('原图');
%%Example3_2_6MedianFilter1
clear;
clc;
TIF=imread('eight.tif');%%读入TIF图像
%%该图像中添加2%的椒盐噪声
J=imnoise(TIF,'salt & pepper',0.02);
J=rgb2gray(J);
%%行3×3平均值滤波
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('中值滤波图');
%%Example3_2_6MedianFilter2
clear;
clc;
TIF=imread('eight.tif');%%读入TIF图像
%%将添加的噪声改为均值为0方差为0.001的高斯噪声
J=imnoise(TIF,'gaussian',0,0.01);
J=rgb2gray(J);
%%行3×3平均值滤波
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('中值滤波图');
分类:
Matlab数字图像处理实验
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了