图像平滑实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验2 图像平滑实验
一、实验目的
1.通过实验掌握图像去噪的基本方法;
2.学会根据情况选用不同方法。
二、实验的硬件、软件平台
硬件:计算机
软件:操作系统:WINDOWS 2000
应用软件:MATLAB
三、实验内容及要求
1.实验内容
请在如下面方法中选择多个,完成图像去噪操作,并进行分析、比较。
(1)对静态场景的多幅图片取平均;
(2)空间域模板卷积(不同模板、不同尺寸);
(3)频域低通滤波器(不同滤波器模型、不同截止频率);
(4)中值滤波方法。
2.实验要求
(1)图片可根据需要选取;
(2)对不同方法和同一方法的不同参数的实验结果进行分析和比较,如空间域卷积模板可有高斯型模板、矩形模板、三角形模板和自己根据需求设计的模板等;模板大小可以是3×3,5×5,7×7或更大。频域滤波可采用矩形或巴特沃斯等低通滤波器模型,截止频率也是可选的。
(3)分析比较不同方法的结果。
四.实验内容
1.图片的均值化处理
程序:A1=imread('lenna_noise1.bmp');
A2=imread('lenna_noise2.bmp');
A3=imread('lenna_noise3.bmp');
A4=imread('lenna_noise4.bmp');
A5=imread('lenna_noise5.bmp');
A6=imread('lenna_noise6.bmp');
A7=imread('lenna_noise7.bmp');
A8=imread('lenna_noise8.bmp'); b1=double(A1/255);
b2=double(A2/255);
b3=double(A3/255);
b4=double(A4/255);
b5=double(A5/255);
b6=double(A6/255);
b7=double(A7/255);
b8=double(A8/255);
c=(b1+b2+b3+b4+b5+b6+b7+b8)/8; subplot(3,3,1);
imshow(A1);
title('1');
subplot(3,3,2);
imshow(A2);
title('2');
subplot(3,3,3);
imshow(A3);
title('3');
subplot(3,3,4);
imshow(A4);
title('14');
subplot(3,3,5);
imshow(A5);
title('5');
subplot(3,3,1);
imshow(A1);
title('1');
subplot(3,3,6);
imshow(A6);
title('6');
subplot(3,3,7);
imshow(A7);
title('7');
subplot(3,3,8);
imshow(A8);
title('8');
subplot(3,3,9);
title('9');
分析:
由于每张图片的噪点的分布是不一样的,所以将每张图片的值相加,再求平均值,这样噪点就会相互抵消,使得最后的图片稍微清晰。
图片的平滑处理
A=imread('noise1.bmp');%读取图片
A1=medfilt2(A,[3,3]);¨%中值滤波模板大小[3.3]
A2=ordfilt2(A,8,ones(4,4));%顺序滤波模板大小【4.4】
h=fspecial('average');%均值滤波
A3=filter2(h,A); %卷积
A3=uint8(A3);
j=fspecial('gaussian');%高斯滤波
A4=filter2(j,A);
A4=uint8(A4);
subplot(2,3,1);
imshow(A);
title('原图');
subplot(2,3,2);
title('中值滤波');
subplot(2,3,3);
imshow(A2);
title('顺序滤波');
subplot(2,3,4);
imshow(A3);
title('均值滤波');
subplot(2,3,5);
imshow(A4);
title('高斯滤波');
程序分析:
1从原图的图片中可以看到,原图噪点很多,第二幅图片是利用了中值滤波处理A1=medfilt2(A,[3,3]);¨含义是将图片划分成多个[3,3]的矩阵,取其中的中间值代替里面的所有元素。由于噪点的值与图片的值差距很大,所以划分[3.3]矩阵取中值处理后,大部分的噪点值将被中值取缔。所以可以达到平滑图像和去除噪点的功能。
2.顺序滤波处理:A2=ordfilt2(A,8,ones(4,4));将图片划分成很多个[4,4]的矩阵,让后讲里面的值进行排序,一共有十六个值,取排第8位值,然后用那个值代替矩阵里面所有的值,其实等同于A1=medfilt2(A,[4,4]);的中值排序,因为
A1=medfilt2(A,[3,3]);比A2=ordfilt2(A,8,ones(4,4));分的更细,所以滤波的效果图2比图3更好。