实验四.docx

上传人:b****8 文档编号:9160311 上传时间:2023-02-03 格式:DOCX 页数:15 大小:612.49KB
下载 相关 举报
实验四.docx_第1页
第1页 / 共15页
实验四.docx_第2页
第2页 / 共15页
实验四.docx_第3页
第3页 / 共15页
实验四.docx_第4页
第4页 / 共15页
实验四.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

实验四.docx

《实验四.docx》由会员分享,可在线阅读,更多相关《实验四.docx(15页珍藏版)》请在冰豆网上搜索。

实验四.docx

实验四

贵州师范大学数学与计算机科学学院学生实验报告

课程名称:

数字图像处理班级:

12信本实验日期:

2015年4月21日

学号:

120703010033姓名:

指导教师:

张艳

一、实验名称

图像的空域滤波。

二、实验目的及要求

通过本实验使学生掌握使用MATLAB对灰度图像进行空域增强的目的,加深对图像空域滤波增强方法的理解。

三、实验原理

本实验是基于数字图像处理课程中的图像变换和增强理论来设计的。

本实验的准备知识:

“4、灰度变换与空间滤波”中的空间滤波技术。

MATLAB中滤波器的函数

中值滤波命令:

B=medfilt2(I,[3,3])%使用3×3中值滤波器对I滤波均值滤波技术。

均值滤波命令:

先定义模板,如H=1/9*ones(3,3),或H=fspecial('average',[3,3]);然后使用命令I1=imfilter(I,H)对图像I消噪。

四、实验内容

读入lena.jpg文件,进行下列操作:

(1)将图像添加上椒盐噪声,A_noised=imnoise(A,'salt&pepper',0.02),同屏显示原图像和加噪图像,说明椒盐噪声的特点;

(2)设计3×3,5×5,7×7,9×9四种模板的均值滤波器对图像进行滤波,同屏显示加噪图像和消噪图像,对滤波效果进行解释和说明;

(3)设计3×3,5×5,7×7,9×9四种模板的中值滤波器对图像进行滤波,同屏显示加噪图像和消噪图像,对滤波效果进行解释和说明;

(4)将图像添加上高斯噪声,A_noised=imnoise(A,'gauss',0.02),同屏显示原图像和加噪图像,说明高斯噪声的特点;

(5)设计3×3,5×5,7×7,9×9四种模板的算术均值滤波器对图像进行滤波,同屏显示加噪图像和消噪图像,对滤波效果进行解释和说明;

(6)设计3×3,5×5,7×7,9×9四种模板的中值滤波器对图像进行滤波,同屏显示加噪图像和消噪图像,对滤波效果进行解释和说明。

(7)自编程序,实现均值滤波和中值滤波。

(8)调用自编程实现的函数,对加了椒盐噪声图像的实现3×3和5×5两种种模板的均值滤波和中值滤波。

五、实现代码及运行效果图

(1)将图像添加上椒盐噪声,A_noised=imnoise(A,'salt&pepper',0.02),同屏显示原图像和加噪图像,说明椒盐噪声的特点;

程序:

clc

clear

xz=imread('lena.jpg');

xz=rgb2gray(xz);

xz_noised=imnoise(xz,'salt&pepper',0.02);

subplot(1,2,1),imshow(xz),title('原图');

subplot(1,2,2),imshow(xz_noised),title('加噪图像’);

运行结果:

椒盐噪声的特点:

椒盐噪声类似把椒盐撒在图像上,是一种在图像上出现很多白点或黑点的噪声。

椒盐噪声是由图像传感器,传输信道,解码处理等产生的黑白相间的亮暗点噪声。

2)设计3×3,5×5,7×7,9×9四种模板的均值滤波器对图像进行滤波,同屏显示加噪图像和消噪图像,对滤波效果进行解释和说明;

程序:

clc

clear

xz=imread('lena.jpg');

xz=rgb2gray(xz);

xz_noised=imnoise(xz,'salt&pepper',0.02);

h1=(1/9)*ones(3,3);

h2=(1/25)*ones(5,5);

h3=(1/49)*ones(7,7);

h4=(1/81)*ones(9,9);

t1=imfilter(xz_noised,h1);

t2=imfilter(xz_noised,h2);

t3=imfilter(xz_noised,h3);

t4=imfilter(xz_noised,h4);

figure

subplot(3,2,1),imshow(xz),title('原图');

subplot(3,2,2),imshow(xz_noised),title('加噪图像');

subplot(3,2,3),imshow(t1),title('3*3消噪图像');

subplot(3,2,4),imshow(t2),title('5*5消噪图像');

subplot(3,2,5),imshow(t3),title('7*7消噪图像');

subplot(3,2,6),imshow(t4),title('9*9消噪图像');

运行结果:

均值滤波效果解释和说明:

当所用平滑模板尺寸增大时,对噪声的消除有所增强,但同时得到的图像变得更加模糊,细节的锐化程度逐步减弱。

(3)设计3×3,5×5,7×7,9×9四种模板的中值滤波器对图像进行滤波,同屏显示加噪图像和消噪图像,对滤波效果进行解释和说明;

 

程序:

clc

clear

xz=imread('lena.jpg');

xz=rgb2gray(xz);

xz_noised=imnoise(xz,'salt&pepper',0.02);

b1=medfilt2(xz_noised,[3,3]);

b2=medfilt2(xz_noised,[5,5]);

b3=medfilt2(xz_noised,[7,7]);

b4=medfilt2(xz_noised,[9,9]);

figure

subplot(3,2,1),imshow(xz),title('原图');

subplot(3,2,2),imshow(xz_noised),title('加噪图像');

subplot(3,2,3),imshow(b1),title('3*3中值滤波消噪图像');

subplot(3,2,4),imshow(b2),title('5*5中值滤波消噪图像');

subplot(3,2,5),imshow(b3),title('7*7中值滤波消噪图像');

subplot(3,2,6),imshow(b4),title('9*9中值滤波消噪图像');

运行结果:

中值滤波效果解释和说明:

当所用中值滤波模板尺寸增大时,对噪声的消除有所增强,但同时得到的图像变得更加清晰,细节的锐化程度逐步增强。

(4)将图像添加上高斯噪声,A_noised=imnoise(A,'gauss',0.02),同屏显示原图像和加噪图像,说明高斯噪声的特点;

程序:

clc

clear

xz=imread('lena.jpg');

xz=rgb2gray(xz);

xz_noised=imnoise(xz,'gauss',0.02);

subplot(1,2,1),imshow(xz),title('原图');

subplot(1,2,2),imshow(xz_noised),title('高斯加噪图像');

运行结果:

高斯噪声的特点:

高斯噪声是指噪声服从高斯分布,即某个强度的噪声点个数最多,离这个强度越远噪声点个数越少,且这个规律服从高斯分布.高斯噪声是一种加性噪声,即噪声直接加到原图像上。

(5)设计3×3,5×5,7×7,9×9四种模板的算术均值滤波器对图像进行滤波,同屏显示加噪图像和消噪图像,对滤波效果进行解释和说明;

程序:

clc

clear

xz=imread('lena.jpg');

xz=rgb2gray(xz);

xz_noised=imnoise(xz,'gauss',0.02);

h1=(1/9)*ones(3,3);

h2=(1/25)*ones(5,5);

h3=(1/49)*ones(7,7);

h4=(1/81)*ones(9,9);

t1=imfilter(xz_noised,h1);

t2=imfilter(xz_noised,h2);

t3=imfilter(xz_noised,h3);

t4=imfilter(xz_noised,h4);

figure

subplot(3,2,1),imshow(xz),title('原图');

subplot(3,2,2),imshow(xz_noised),title('高斯加噪图像');

subplot(3,2,3),imshow(t1),title('3*3算术均值滤波消噪图像');

subplot(3,2,4),imshow(t2),title('5*5算术均值滤波消噪图像');

subplot(3,2,5),imshow(t3),title('7*7算术均值滤波消噪图像');

subplot(3,2,6),imshow(t4),title('9*9算术均值滤波消噪图像');

运行结果:

(6)设计3×3,5×5,7×7,9×9四种模板的中值滤波器对图像进行滤波,同屏显示加噪图像和消噪图像,对滤波效果进行解释和说明。

程序:

clc

clear

xz=imread('lena.jpg');

xz=rgb2gray(xz);

xz_noised=imnoise(xz,'gauss',0.02);

b1=medfilt2(xz_noised,[3,3]);

b2=medfilt2(xz_noised,[5,5]);

b3=medfilt2(xz_noised,[7,7]);

b4=medfilt2(xz_noised,[9,9]);

figure

subplot(3,2,1),imshow(xz),title('原图');

subplot(3,2,2),imshow(xz_noised),title('高斯加噪图像');

subplot(3,2,3),imshow(t1),title('3*3中值滤波消噪图像');

subplot(3,2,4),imshow(t2),title('5*5中值滤波消噪图像');

subplot(3,2,5),imshow(t3),title('7*7中值滤波消噪图像');

subplot(3,2,6),imshow(t4),title('9*9中值滤波消噪图像');

运行结果:

(7)自编程序,实现均值滤波和中值滤波。

均值滤波M文件:

functionxz=medFilt(x,n)

p=size(x);

x1=double(x);

x2=x1;

fori=1:

p

(1)-n+1

forj=1:

p

(2)-n+1

c=x1(i:

i+(n-1),j:

j+(n-1));

e=c(1,:

);

foru=2:

n

e=[e,c(u,:

)];

end

mm=median(e);

x2(i+(n-1)/2,j+(n-1)/2)=mm;

end

end

xz=uint8(x2);

中值滤波M文件:

functionxz=averageFilt(x,n)

a(1:

n,1:

n)=1;

p=size(x);

x1=double(x);

x2=x1;

fori=1:

p

(1)-n+1

forj=1:

p

(2)-n+1

c=x1(i:

i+(n-1),j:

j+(n-1)).*a;

s=sum(sum(c));

x2(i+(n-1)/2,j+(n-1)/2)=s/(n*n);

end

end

xz=uint8(x2);

(8)调用自编程实现的函数,对加了椒盐噪声图像的实现3×3和5×5两种种模板的均值滤波和中值滤波。

程序:

clc

clear

xz=imread('lena.jpg');

xz=rgb2gray(xz);

xz_noised=imnoise(xz,'salt&pepper',0.02);

b1=averageFilt(xz_noised,3);

b2=averageFilt(xz_noised,5);

t1=medFilt(xz_noised,3);

t2=medFilt(xz_noised,5);

figure

subplot(3,2,1),imshow(xz),title('原图');

subplot(3,2,2),imshow(xz_noised),title('椒盐噪声图像');

subplot(3,2,3),imshow(b1),title('3*3均值滤波消噪图像');

subplot(3,2,4),imshow(t1),title('3*3中值滤波消噪图像');

subplot(3,2,5),imshow(b2),title('5*5均值滤波消噪图像');

subplot(3,2,6),imshow(t2),title('5*5中值滤波消噪图像');

 

运行结果:

 

六、总结

唯一的感觉就是这些图好像表面看上去没有太大的差别,不过放大了之后还是能看出均值滤波和中值滤波的一些效果。

其他的没有太大的问题,老师几乎把程序都告诉我们了,只需要自己去体会!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1