图像的平滑滤波---数字图像处理实验报告南昌大学(共4页).doc
精选优质文档-倾情为你奉上实验报告三姓名: 胡文松 学号: 班级:生物医学工程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('平均模板滤波图像'); L=medfilt2(J,3 3); %中值滤波subplot(2,2,4); imshow(L); title('非线性模板中值滤波图像');运行上述程序,得到以下图像:图一图二图三四、结果分析(1)图一:采用均值滤波器对图像处理能达到去噪的效果,并且一般滤波器的模板越大去噪效果越好,但是应该适中,当模板选择的过大时,处理的效果就会下降,因此我们应该根据具体的要求选择合适的模板来处理图像。(2)图二:采用高斯滤波器对图像处理能达到去噪的效果,与均值滤波器相同,随着所用的滤波器尺寸的增大,图像的细节锐化程度相应降低图像变得模糊起来。但相较于均值滤波器,其模糊程度较小。但是高斯滤波同时受到标准差sigma的影响。(3)图三:中值滤波对去除“椒盐”噪声可以起到很好的效果,因为椒盐噪声只在画面中的部分点上随机出现,所以根据中值滤波原理可知,通过数据排序的方法,将图像中未被噪声污染的点代替噪声点的值的概率比较大,因此噪声的抑制效果很好。中值滤波与均值滤波相比,在去除图像椒盐噪声的同时,还能够保持图像比较清晰的轮廓。从实验结果可以看出,通过3*3的均值滤波器,图像中的噪声点有明显的消除。但是3*3的非线性模板中值滤波器上对噪声的滤除效果更完美。专心-专注-专业