最新图像的平滑滤波---数字图像处理实验报告南昌大学

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告三

姓名:胡文松学号:6103413007 班级:生物医学工程131 实验日期:2016/5/11 实验成绩:

实验题目:图像的平滑滤波

一.实验目的

(1)熟练掌握空域平滑滤波的原理、方法及其MATLAB实现。

(2)分析模板大小对空域平滑滤波的影响,线性和非线性方法对空域平滑滤波增强效果的影响,比较不同滤波器的处理效果,分析其优缺点。

二.实验原理

(1)线性空间滤波

函数imfilter来实现线性空间滤波,语法为:

g = imfilter(f, w, filtering_mode, boundary_options, size_options)

其中,f是输入图像,w为滤波模板,g为滤波结果,filtering_mode用于指定在滤波过程中是使用相关运算(‘corr’)还是卷积运算(‘conv’),相关就是按模板在图像上逐步移动运算的过程,卷积则是先将模板旋转180度,再在图像上逐步移动的过程。

(2)非线性滤波器

数字图像处理中最著名的统计排序滤波器是中值滤波器,MATLAB工具箱提供了二维中值滤波函数medfilt2,语法为:g = medfilt2(f, [m n], padopt)

矩阵[m n]定义了一个大小为m×n的邻域,中值就在该邻域上计算;而参数padopt指定了三个可能的边界填充选项:’zeros’(默认值,赋零),’symmetric’按照镜像反射方式对称地沿延其边界扩展,’indexed’,若f是double类图像,则以1来填充图像,否则以0来填充图像。

(3)线性空间滤波器

MATLAB工具箱支持一些预定义的二维线性空间滤波器,这些空间滤波器可通过函数fspecial实现。生成滤波模板的函数fspecial的语法为:w = fspecial(‘type’, parameters) ;其中,’type’表示滤波器类型,parameters进一步定义了指定的滤波器。fspecial(‘laplacian’, alpha) 一个大小为3×3的拉普拉斯滤波器,其形状由alpha指定,alpha是范围[0, 1]的数。alpha默认为0.5。

三.实验内容及结果

(1)选择一副图像fig620.jpg,分别选择3×3,7×7,25×25等平均模板进行均值滤波模糊处理,并对不同尺寸的滤波器模板操作后的图像进行比较。

(1)选择一副图像fig620.jpg,分别选择3×3,7×7,25×25等平均模板进行高斯滤波模糊处理,并对不同尺寸的滤波器模板操作后的图像进行比较。

(2)选择一副图像circuit.jpg,对图像加入椒盐噪声,检验两种滤波模板(3×3平均模板和3×3的非线性模板中值滤波器)对噪声的滤波效果。

源程序和结果:

clc;

%--------------------进行均值滤波模糊处理--------------------

I=imread('E:\教学材料\数字图像处理\图片\fig620.jpg');

figure;

subplot(2,2,1); imshow(I); title('原图'); %输出原图

Y1=imfilter(I,fspecial('average',3)); %进行3×3模板的均值滤波

Y2=imfilter(I,fspecial('average',7)); %进行7×7模板的均值滤波

Y3=imfilter(I,fspecial('average',25)); %进行25×25模板的均值滤波subplot(2,2,2); imshow(Y1);title('3×3模板均值滤波');

subplot(2,2,3); imshow(Y2);title('7×7模板均值滤波');

subplot(2,2,4); imshow(Y3);title('25×25模板均值滤波');

%------------------进行高斯滤波模糊处理---------------------

OriImage=imread('E:\教学材料\数字图像处理\图片\fig620.jpg');

figure;

subplot(2,2,1); imshow(OriImage); title('原图'); %输出原图

sigma =1.6; %设置标准差grayImg=rgb2gray(OriImage);

gausFilter1 = fspecial('gaussian',[3 3],sigma); %进行3×3模板的高斯滤波gausFilter2 = fspecial('gaussian',[7 7],sigma); %进行3×3模板的高斯滤波gausFilter3 = fspecial('gaussian',[25 25],sigma); %进行3×3模板的高斯滤波blur1=imfilter(grayImg,gausFilter1,'replicate');

blur2=imfilter(grayImg,gausFilter2,'replicate');

blur3=imfilter(grayImg,gausFilter3,'replicate');

subplot(2,2,2); imshow(blur1);title('3×3模板高斯滤波');

subplot(2,2,3); imshow(blur2);title('7×7模板高斯滤波');

subplot(2,2,4); imshow(blur3);title('25×25模板高斯滤波');

%------------加入椒盐噪声并检验两种滤波模板的滤波效果----------------

I=imread('E:\教学材料\数字图像处理\图片\circuit.jpg');

I=rgb2gray(I); %将真彩图像转化成灰度图像J=imnoise(I,'salt & pepper',0.02); %对指定的图像加入椒盐噪声

figure;

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

subplot(2,2,2); imshow(J); title('噪声图像');

K1=imfilter(J,fspecial('average',3)); %对图像进行均值模版滤波subplot(2,2,3); imshow(K1); title('平均模板滤波图像');

相关文档
最新文档