资源描述:
《高斯平滑滤波实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、高斯平滑滤波实验报告一,实验要求实现高斯平滑滤波器。选择几个不同的σ(至少5个)对一幅图像进行滤波,观测不同的σ值对图像的平滑程度(注意σ取值与窗函数大小的关系)。你将如何为一幅图像选择合适的σ值?二,高斯平滑滤波器简介连续高斯函数为。连续的高斯函数图像如图1所示。图1连续高斯函数离散高斯函数为。一个离散高斯模板如图2所示。图2离散高斯模板高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。由上面图示可知,高斯函数的特点就是模板中心像素在新像素所占的比重最大,离中心越远的像素在新像素中所占的比重越小。高斯滤波器的系统函
2、数是平滑的,避免了振铃现象。高斯函数具有五个重要性质:1,具有旋转对称性;2,是单值函数;3,其付氏频谱是单瓣的;4,高斯滤波器宽度(决定平滑程度)由参数σ表征;5,可分离性,大高斯滤波器得以有效实现。三,高斯平滑滤波实现本实验中运用MATLAB来实现对图像的高斯平滑滤波。处理前的图像如图三所示,是图像处理学习中常用的lena图像。图3原图因为平滑滤波器的作用是消除图像中的噪声,为了更好地检测高斯平滑滤波器的效果,用MATLAB中的noise函数为原图加上高斯噪声,再对其进行处理,如图4所示。图4加高斯噪声的图像接下来就可以进行高斯平滑滤波了。在MATLAB中,用fspeci
3、al函数来生成高斯模板。其使用格式为:f=fspecial('gaussian',[33],0.5);其中[33]是模板的大小,可以更改,本实验中的模板均为3×3的;后面的0.5就是σ的值了。接着用imfilter函数滤波,其使用格式为:img_smooth1=imfilter(J,f);其中J为待处理的图像,f即为高斯模板。本实验中选择的σ值为0.5,1,2,4,6,8,10;用MATLAB进行试验来观测滤波结果。实验程序如下:im=imread('lena.bmp');imshow(im,[]);title('原图');J=imnoise(im,'gaussian');f
4、igureimshow(J,[]);title('加高斯噪声图');f1=fspecial('gaussian',[33],0.5);img_smooth1=imfilter(J,f1);figuresubplot221imshow(img_smooth1,[]);title('0.5');f2=fspecial('gaussian',[33],1);img_smooth2=imfilter(J,f2);subplot222imshow(img_smooth2,[]);title('1');f3=fspecial('gaussian',[33],2);img_smooth3=
5、imfilter(J,f3);subplot223imshow(img_smooth3,[]);title('2');f4=fspecial('gaussian',[33],4);img_smooth4=imfilter(J,f4);subplot224imshow(img_smooth4,[]);title('4');f5=fspecial('gaussian',[33],8);img_smooth5=imfilter(J,f5);figuresubplot121imshow(img_smooth5,[]);title('8');f6=fspecial('gaussian'
6、,[33],10);img_smooth6=imfilter(J,f6);subplot122imshow(img_smooth6,[]);title('10');滤波结果如下:四,实验结果分析:由实验结果可知,随着σ值的增大,噪声滤除的越干净,但同时,图像也变得越模糊,轮廓不清晰。当σ值大于4时,随着σ值的增加,滤波的效果几乎没有变化。所以σ要选取合适的值才能使滤波后的图像满足要求,不能太小,否则噪声滤除不干净;也不能太大,太大了图像变模糊,就违反了处理图像的初衷;总之,要在中间选一个折中的值。在选择σ值时,可以多尝试几个,选择最满意的一个。