高斯平滑滤波器
高斯滤波器的原理及其实现过程(附模板代码)

高斯滤波器的原理及其实现过程(附模板代码)来源:网络素材本文主要介绍了高斯滤波器的原理及其实现过程高斯滤波器是一种线性滤波器,能够有效的抑制噪声,平滑图像。
其作用原理和均值滤波器类似,都是取滤波器窗口内的像素的均值作为输出。
其窗口模板的系数和均值滤波器不同,均值滤波器的模板系数都是相同的为1;而高斯滤波器的模板系数,则随着距离模板中心的增大而系数减小。
所以,高斯滤波器相比于均值滤波器对图像个模糊程度较小。
什么是高斯滤波器既然名称为高斯滤波器,那么其和高斯分布(正态分布)是有一定的关系的。
一个二维的高斯函数如下:其中(x,y)(x,y)为点坐标,在图像处理中可认为是整数;σσ是标准差。
要想得到一个高斯滤波器的模板,可以对高斯函数进行离散化,得到的高斯函数值作为模板的系数。
例如:要产生一个3×33×3的高斯滤波器模板,以模板的中心位置为坐标原点进行取样。
模板在各个位置的坐标,如下所示(x轴水平向右,y轴竖直向下)这样,将各个位置的坐标带入到高斯函数中,得到的值就是模板的系数。
对于窗口模板的大小为(2k+1)×(2k+1),模板中各个元素值的计算公式如下:这样计算出来的模板有两种形式:小数和整数。
•小数形式的模板,就是直接计算得到的值,没有经过任何的处理;•整数形式的,则需要进行归一化处理,将模板左上角的值归一化为1,下面会具体介绍。
使用整数的模板时,需要在模板的前面加一个系数,系数为也就是模板系数和的倒数。
高斯模板的生成知道模板生成的原理,实现起来也就不困难了•••••••••••••••••••••••••void generateGaussianTemplate(double window[][11], int ksize, double sigma){ static const double pi = 3.1415926; int center = ksize / 2; // 模板的中心位置,也就是坐标的原点 doublex2, y2; for (int i = 0; i < ksize; i++) { x2 = pow(i - center, 2); for (int j = 0; j < ksize; j++) { y2 = pow(j - center, 2); double g = exp(-(x2 + y2) / (2 * sigma * sigma));g /= 2 * pi * sigma; window[i][j] = g; } } double k= 1 / window[0][0]; // 将左上角的系数归一化为1 for (int i = 0; i< ksize; i++) { for (int j = 0; j < ksize; j++) { window[i][j] *= k; } }}需要一个二维数组,存放生成的系数(这里假设模板的最大尺寸不会超过11);第二个参数是模板的大小(不要超过11);第三个参数就比较重要了,是高斯分布的标准差。
高斯滤波器的作用

高斯滤波器的作用在数字图像处理中,高斯滤波器是一种常用的平滑滤波器,它可以有效地去除图像中的噪声,使图像更加清晰和平滑。
高斯滤波器的作用主要是通过对图像中的像素值进行加权平均来实现的。
高斯滤波器通过在图像上滑动一个小的窗口来处理每个像素。
在窗口内,每个像素的值会与高斯函数中的权重相乘,并求和得到新的像素值。
这样可以使图像中每个像素的值受到周围像素的影响,从而减少噪声的影响,使图像更加清晰。
高斯滤波器的主要作用之一是平滑图像。
在图像处理中,噪声是不可避免的,特别是在低光照条件下拍摄的图像中。
噪声会导致图像细节模糊,影响图像质量。
通过使用高斯滤波器,可以有效地去除图像中的噪声,使图像更加平滑,细节更加清晰。
高斯滤波器还可以用于边缘检测。
边缘是图像中像素值变化较大的地方,通常表示物体之间的分界线或者物体的轮廓。
高斯滤波器可以通过平滑图像来减少噪声的影响,从而更容易检测图像中的边缘。
通过边缘检测,可以帮助我们更好地理解图像内容,进行目标识别和分割。
除了平滑和边缘检测,高斯滤波器还可以用于图像增强和特征提取。
在一些图像处理任务中,我们需要突出图像中的某些特征或者增强图像的对比度。
通过适当调整高斯滤波器的参数,可以实现对图像的增强和特征提取,从而更好地满足不同应用的需求。
总的来说,高斯滤波器在数字图像处理中起着至关重要的作用。
它不仅可以帮助我们去除图像中的噪声,使图像更加清晰和平滑,还可以用于边缘检测、图像增强和特征提取等任务。
因此,熟练掌握高斯滤波器的原理和应用是每个图像处理工程师都应该具备的基本技能。
通过合理地使用高斯滤波器,我们可以更好地处理图像数据,实现各种图像处理任务,提高图像处理的效果和质量。
一维高斯滤波器公式

一维高斯滤波器公式高斯滤波器是一种常用于图像处理和计算机视觉中的滤波器,它可以对图像进行平滑处理,减少噪声和细节。
一维高斯滤波器是一种应用于一维信号的高斯滤波器,它在时间或空间上对信号进行平滑处理。
G(x)=(1/(σ√(2π)))*e^(-(x^2/(2σ^2)))其中,G(x)表示滤波后的信号值,x表示输入信号的位置,σ表示高斯分布的标准差。
这个公式可以解释为,对于每个输入信号的位置x,高斯滤波器计算一个权重,根据该位置与中心的距离和标准差σ的值来决定权重的大小。
权重越大,说明该位置的值对滤波结果的贡献越大。
在实际应用中,一维高斯滤波器通常通过对输入信号的每个位置应用该公式来计算滤波后的值。
可以通过一次迭代操作将滤波器应用于整个信号。
下面我们来详细解释一维高斯滤波器的公式。
1.高斯分布公式:G(x)=(1/(σ√(2π)))*e^(-(x^2/(2σ^2)))高斯分布是一个常用的概率分布,其图像呈钟形曲线。
这个公式中,分子部分是高斯分布的幅度(控制曲线的高度),分母部分是通过标准差σ缩放曲线的宽度。
2.x表示输入信号的位置对于一维信号,可以通过位置x来表示。
通常,x的起始点表示信号的第一个位置,x递增的步长表示信号的采样率。
3.σ表示高斯分布的标准差标准差σ是一个非常重要的参数,它决定了高斯分布的幅度和曲线的宽度。
较大的σ值意味着更平坦的分布和更宽的曲线,较小的σ值意味着更窄的曲线和较高的幅度。
4.应用高斯滤波器的步骤首先,选择一个适当的标准差σ。
一般情况下,可以根据信号的属性和噪声的程度来选择。
其次,对输入信号的每个位置x,计算相应位置的高斯权重。
使用高斯分布公式,将该位置的x值代入公式中,即可得到相应位置的权重值。
最后,将权重与相应位置的输入信号值相乘,然后将所有乘积相加,得到滤波后的信号值。
总结:对于一维信号,一维高斯滤波器通过计算每个位置的高斯权重,将权重与相应位置的输入信号值相乘,并将所有乘积相加,得到滤波后的信号值。
高斯滤波器

白噪声英文名称:white noise定义1:在感兴趣的频率范围内,每单位带宽内有相等功率的噪声或振动。
应用学科:机械工程(一级学科);振动与冲击(二级学科);机械振动(三级学科)定义2:在所考虑的频带内具有连续频谱和恒定的功率谱密度的随机噪声。
应用学科:通信科技(一级学科);通信原理与基本技术(二级学科)以上内容由全国科学技术名词审定委员会审定公布求助编辑百科名片白噪声白噪声是指功率谱密度在整个频域内均匀分布的噪声。
所有频率具有相同能量的随机噪声称为白噪声。
从我们耳朵的频率响应听起来它是非常明亮的“咝”声(每高一个八度,频率就升高一倍。
因此高频率区的能量也显著增强)。
目录编辑本段概述白噪声是指在较宽的频率范围内,各等带宽的频带所含的噪声能量相等的噪声。
一般在物理上把它翻译成白噪声(white noise)。
白噪声或白杂讯,是一种功率频谱密度为常数的随机信号或随机过程。
换句话说,此信号在各个频段上的功率是一样的,由于白光是由各种频率(颜色)的单色光混合而成,因而此信号的这种具有平坦功率谱的性质被称作是“白色的”,此信号也因此被称作白噪声。
相对的,其他不具有这一性质的噪声信号被称为有色噪声。
理想的白噪声具有无限带宽,因而其能量是无限大,这在现实世界是不可能存在的。
实际上,我们常常将有限带宽的平整讯号视为白噪音,因为这让我们在数学分析上更加方便。
然而,白噪声在数学处理上比较方便,因此它是系统分析的有力工具。
一般,只要一个噪声过程所具有的频谱宽度远远大于它所作用系统的带宽,并且在该带宽中其频谱密度基本上可以作为常数来考虑,就可以把它作为白噪声来处理。
例如,热噪声和散弹噪声在很宽的频率范围内具有均匀的功率谱密度,通常可以认为它们是白噪声。
当你需要专心工作,而周遭总是有繁杂的声音时,就可以选用这两种声音来加以遮蔽。
一般来说,通常的情况下你可以选用白色噪音,而粉红色噪音则是特别针对说话声的遮蔽材料。
粉红色噪音又被称做频率反比(1/f) 噪音,因为它的能量分布与频率成反比,或者说是每一个八度音程(Octave) 能量就衰退3 dB。
复合高斯运算

复合高斯运算复合高斯运算是一种图像处理算法,用于平滑和加强数字图像。
它基于高斯函数的属性,通过将多个高斯滤波器叠加应用来实现。
高斯运算是一种线性平滑滤波器,它通过在图像上滑动一个高斯核来对图像进行平滑处理。
高斯滤波器会在图像上的每个像素位置计算一个加权平均值,其中每个像素的权值由高斯函数的形状决定。
高斯函数是一种钟形曲线,具有一个峰值和一个标准差。
标准差越大,曲线越平缓,平滑效果越明显。
复合高斯运算则通过将多个高斯滤波器级联应用来实现更强的平滑效果。
它的核心思想是,在不同尺度上使用不同大小的高斯核。
通过这种方式,复合高斯运算可以同时处理图像中的细节和整体轮廓。
复合高斯运算的步骤如下:1.输入一个待处理的图像。
2.选择一组标准差不同的高斯核。
通常会选择一组连续的标准差,并在每个标准差上应用一个高斯滤波器。
3.在图像上分别对每个高斯核应用高斯滤波器。
这将生成一组平滑结果。
4.对每个平滑结果进行变换,以调整它们的强度和对比度。
5.将变换后的平滑结果叠加起来,以生成最终的复合高斯运算结果。
复合高斯运算的优势在于它可以平滑图像的同时保留图像的细节。
通过选择不同尺度的高斯核并对它们进行变换,可以调整平滑效果的强度和对比度,从而获得更好的视觉效果。
复合高斯运算在很多图像处理应用中都有广泛的应用。
例如,在边缘检测中,可以先对图像应用复合高斯运算来减少噪声和细节,然后再通过边缘检测算法找到图像的边界。
在图像增强中,复合高斯运算可以用来平滑和增强图像的细节,使图像更清晰和易于分析。
总之,复合高斯运算是一种有效的图像处理算法,通过叠加多个高斯滤波器来实现平滑和加强数字图像。
它的优势在于可以在不同尺度上处理图像的细节和轮廓,从而得到更好的图像效果。
高斯滤波器和2RC滤波器

第五章 高斯滤波器5.1介绍高斯滤波器被广泛应用于表面轮廓分析。
美国标准(美国机械工程师协会2002)和国际标准(国际标准化组织1996)都对它进行了阐述。
高斯滤波器的权重函数(滤波器在时域和空间域的定义)如下:S (x )=1αλc exp[−π(x αλc )2] 5.1 式子中α=√ln2/π=0.4697,x 是权重函数距离原点的位置,λc 是粗糙度中长波波长的截止频率。
通过对连续函数S (x )进行傅里叶变换可以得到函数的传递特性,变化如下: Sf (λ)=∫S (x )e iλx dx ∞−∞=∫1αλc e [−π(x αλc )2]∞−∞e iλx dx =e [−π(αλc λ)2] 5.2从等式5.2,能够看出该正弦波振幅有衰减,其波长截止波长(λ=λc )是0.5,因此在截止处,滤波器传递了50%。
下面的例子展示了,在给定权重函数下,其高斯滤波器传递曲线的样子。
范例5.1 在给定空间域λc ≤x ≤λc 下,描绘高斯滤波器S 。
其中让λc =0.8mm ,采样间隔∆x =1μm 。
下面是MATLAB 生成的代码,并且其所描述的图展示在(图5.1 a)。
图5.1 a 绘制高斯滤波器;λc =0.8mm ,b 高斯滤波器传递特性lambdac=0.8; % in mmdx=0.001; % in mmx=(-lambdac:dx:lambdac)’;alpha=0.4697;S=(1/(alpha *lambdac)).*exp(-pi *(x/(alpha *lambdac)).^2);% generate the Gaussian filterS=S/sum(S); % normalize to unit sumplot(x,S);xlabel(’Distance (mm)’);ylabel(’Weighting function’);范例5.2 产生高斯滤波器S的振幅传输特性,并且评估正弦波的振幅传输特性,其截止波长(λc=0.8mm)。
离散高斯函数

图像高斯平滑滤波分析来源:发表时间:2009-11-27 浏览率:[1876]图像高斯平滑滤波分析王耀贵山东省潍坊卫生学校 261041摘要:在图像预处理中,对图像进行平滑,去除噪声,恢复原始图像是一个重要内容。
本课题设计出了一个平滑尺度和模板大小均可以改变的高斯滤波器,用它对多幅加入各种噪声后的图像进行平滑,经过对各个结果图像的对比可知高斯滤波对服从正态分布的噪声去除效果比较好,并且相比各个不同参数,在平滑尺度为2,模板大小为7时效果最佳。
关键词:图像预处理;平滑处理;平滑尺度;模板大小;高斯滤波1、前言一幅原始图像在获取和传输过程中会受到各种噪声的干扰,使图像质量下降,对分析图像不利。
反映到图像画面上,主要有两种典型的噪声。
一种是幅值基本相同,但出现的位置随机的椒盐噪声,另一种则每一点都存在,但幅值随机分布的随机噪声。
为了抑制噪声、改善图像质量,要对图像进行平滑处理。
图像平滑处理的方法多种多样,有邻域平均、中值滤波,高斯滤波、灰度最小方差的均值滤波等。
这里主要就是分析高斯滤波器的平滑效果。
以下即为本课题研究的主要内容及要求:第一,打开显示对应图像;第二,编写给图像加噪声的程序;第三,程序中实现不同平滑尺度、不同模板大小的高斯模板设计,并将设计结果显示出来;第四,以Lean图像为例,进行加噪声,分析平滑的实验效果。
2、高斯平滑滤波器的原理高斯滤波器是根据高斯函数的形状来选择权值的线性平滑滤波器。
高斯平滑滤波器对去除服从正态分布的噪声是很有效果的。
一维零均值高斯函数为。
其中,高斯分布参数决定了高斯滤波器的宽度。
对图像来说,常用二维零均值离散高斯函数作平滑滤波器,函数表达式如下:式(1)高斯函数具有5个重要性质:2.1二维高斯函数具有旋转对称性,即滤波器在各个方向上的平滑程度是相同的。
一般来说一幅图像的边缘方向是不知道的。
因此,在滤波之前是无法确定一个方向比另一个方向上要更多的平滑的。
旋转对称性意味着高斯滤波器在后续的图像处理中不会偏向任一方向。
高斯函数具有五个重要的性质

高斯函数具有五个重要的性质高斯函数具有五个重要的性质,这些性质使得它在早期图像处理中特别有用.这些性质表明,高斯平滑滤波器无论在空间域还是在频率域都是十分有效的低通滤波器,且在实际图像处理中得到了工程人员的有效使用.高斯函数具有五个十分重要的性质,它们是:(1)二维高斯函数具有旋转对称性,即滤波器在各个方向上的平滑程度是相同的.一般来说,一幅图像的边缘方向是事先不知道的,因此,在滤波前是无法确定一个方向上比另一方向上需要更多的平滑.旋转对称性意味着高斯平滑滤波器在后续边缘检测中不会偏向任一方向. (2)高斯函数是单值函数.这表明,高斯滤波器用像素邻域的加权均值来代替该点的像素值,而每一邻域像素点权值是随该点与中心点的距离单调增减的. 这一性质是很重要的,因为边缘是一种图像局部特征,如果平滑运算对离算子中心很远的像素点仍然有很大作用,则平滑运算会使图像失真. (3)高斯函数的付立叶变换频谱是单瓣的.正如下面所示,这一性质是高斯函数付立叶变换等于高斯函数本身这一事实的直接推论.图像常被不希望的高频信号所污染(噪声和细纹理).而所希望的图像特征(如边缘),既含有低频分量,又含有高频分量.高斯函数付立叶变换的单瓣意味着平滑图像不会被不需要的高频信号所污染,同时保留了大部分所需信号. (4)高斯滤波器宽度(决定着平滑程度)是由参数σ 表征的,而且σ 和平滑程度的关系是非常简单的.σ 越大,高斯滤波器的频带就越宽,平滑程度就越好. 通过调节平滑程度参数σ ,可在图像特征过分模糊(过平滑)与平滑图像中由于噪声和细纹理所引起的过多的不希望突变量(欠平滑)之间取得折衷. (5)由于高斯函数的可分离性,大高斯滤波器可以得以有效地实现.二维高斯函数卷积可以分两步来进行,首先将图像与一维高斯函数进行卷积,然后将卷积结果与方向垂直的相同一维高斯函数卷积.因此,二维高斯滤波的计算量随滤波模板宽度成线性增长而不是成平方增长.2 函数的表达式和图形在这里编辑公式很麻烦,所以这里就略去了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Gaussian Smoothing Filter高斯平滑滤波器一、图像滤波的基本概念图像常常被强度随机信号(也称为噪声)所污染.一些常见的噪声有椒盐(Salt & Pepper)噪声、脉冲噪声、高斯噪声等.椒盐噪声含有随机出现的黑白强度值.而脉冲噪声则只含有随机的白强度值(正脉冲噪声)或黑强度值(负脉冲噪声).与前两者不同,高斯噪声含有强度服从高斯或正态分布的噪声.研究滤波就是为了消除噪声干扰。
图像滤波总体上讲包括空域滤波和频域滤波。
频率滤波需要先进行傅立叶变换至频域处理然后再反变换回空间域还原图像,空域滤波是直接对图像的数据做空间变换达到滤波的目的。
它是一种邻域运算,即输出图像中任何像素的值都是通过采用一定的算法,根据输入图像中对用像素周围一定邻域内像素的值得来的。
如果输出像素是输入像素邻域像素的线性组合则称为线性滤波(例如最常见的均值滤波和高斯滤波),否则为非线性滤波(中值滤波、边缘保持滤波等)。
线性平滑滤波器去除高斯噪声的效果很好,且在大多数情况下,对其它类型的噪声也有很好的效果。
线性滤波器使用连续窗函数内像素加权和来实现滤波。
特别典型的是,同一模式的权重因子可以作用在每一个窗口内,也就意味着线性滤波器是空间不变的,这样就可以使用卷积模板来实现滤波。
如果图像的不同部分使用不同的滤波权重因子,且仍然可以用滤波器完成加权运算,那么线性滤波器就是空间可变的。
任何不是像素加权运算的滤波器都属于非线性滤波器.非线性滤波器也可以是空间不变的,也就是说,在图像的任何位置上可以进行相同的运算而不考虑图像位置或空间的变化。
二、图像滤波的计算过程分析滤波通常是用卷积或者相关来描述,而线性滤波一般是通过卷积来描述的。
他们非常类似,但是还是会有不同。
下面我们来根据相关和卷积计算过程来体会一下他们的具体区别:卷积的计算步骤:(1)卷积核绕自己的核心元素顺时针旋转180度(2)移动卷积核的中心元素,使它位于输入图像待处理像素的正上方(3)在旋转后的卷积核中,将输入图像的像素值作为权重相乘(4)第三步各结果的和做为该输入像素对应的输出像素相关的计算步骤:(1)移动相关核的中心元素,使它位于输入图像待处理像素的正上方(2)将输入图像的像素值作为权重,乘以相关核(3)将上面各步得到的结果相加做为输出可以看出他们的主要区别在于计算卷积的时候,卷积核要先做旋转。
而计算相关过程中不需要旋转相关核。
例如:magic(3) =[8 1 6;3 5 7;4 9 2],旋转180度后就成了[2 9 4;7 5 3;61 8]三、高斯(核)函数所谓径向基函数(Radial Basis Function 简称RBF), 就是某种沿径向对称的标量函数。
通常定义为空间中任一点x到某一中心xc之间欧氏距离的单调函数, 可记作k(||x-xc||), 其作用往往是局部的, 即当x远离xc时函数取值很小。
最常用的径向基函数是高斯核函数,形式为k(||x-xc||)=exp{- ||x-xc||^2/(2*σ)^2) } 其中xc为核函数中心,σ为函数的宽度参数, 控制了函数的径向作用范围。
高斯函数具有五个重要的性质,这些性质使得它在早期图像处理中特别有用.这些性质表明,高斯平滑滤波器无论在空间域还是在频率域都是十分有效的低通滤波器,且在实际图像处理中得到了工程人员的有效使用.高斯函数具有五个十分重要的性质,它们是:(1)二维高斯函数具有旋转对称性,即滤波器在各个方向上的平滑程度是相同的.一般来说,一幅图像的边缘方向是事先不知道的,因此,在滤波前是无法确定一个方向上比另一方向上需要更多的平滑.旋转对称性意味着高斯平滑滤波器在后续边缘检测中不会偏向任一方向.(2)高斯函数是单值函数.这表明,高斯滤波器用像素邻域的加权均值来代替该点的像素值,而每一邻域像素点权值是随该点与中心点的距离单调增减的.这一性质是很重要的,因为边缘是一种图像局部特征,如果平滑运算对离算子中心很远的像素点仍然有很大作用,则平滑运算会使图像失真.(3)高斯函数的付立叶变换频谱是单瓣的.正如下面所示,这一性质是高斯函数付立叶变换等于高斯函数本身这一事实的直接推论.图像常被不希望的高频信号所污染(噪声和细纹理).而所希望的图像特征(如边缘),既含有低频分量,又含有高频分量.高斯函数付立叶变换的单瓣意味着平滑图像不会被不需要的高频信号所污染,同时保留了大部分所需信号.(4)高斯滤波器宽度(决定着平滑程度)是由参数σ表征的,而且σ和平滑程度的关系是非常简单的.σ越大,高斯滤波器的频带就越宽,平滑程度就越好.通过调节平滑程度参数σ,可在图像特征过分模糊(过平滑)与平滑图像中由于噪声和细纹理所引起的过多的不希望突变量(欠平滑)之间取得折衷.(5)由于高斯函数的可分离性,大高斯滤波器可以得以有效地实现.二维高斯函数卷积可以分两步来进行,首先将图像与一维高斯函数进行卷积,然后将卷积结果与方向垂直的相同一维高斯函数卷积.因此,二维高斯滤波的计算量随滤波模板宽度成线性增长而不是成平方增长.四、高斯平滑滤波器的设计高斯函数的最佳逼近由二项式展开的系数决定,换句话说,用杨辉三角形(也称Pascal三角形)的第n行作为高斯滤波器的一个具有n个点的一维逼近,例如,五点逼近为: 1 4 6 4 1它们对应于Pascal三角形的第5行.这一模板被用来在水平方向上平滑图像.在高斯函数可分离性性质中曾指出,二维高斯滤波器能用两个一维高斯滤波器逐次卷积来实现,一个沿水平方向,一个沿垂直方向.实际中,这种运算可以通过使用单个一维高斯模板,对两次卷积之间的图像和最后卷积的结果图像进行转置来完成.这一技术在模板尺寸N约为10时的滤波效果极好.对较大的滤波器,二项式展开系数对大多数计算机来说都太多.但是,任意大的高斯滤波器都能通过重复使用小高斯滤波器来实现.高斯滤波器的二项式逼近的σ可用高斯函数拟合二项式系数的最小方差来计算.设计高斯滤波器的另一途径是直接从离散高斯分布中计算模板权值。
为了计算方便,一般希望滤波器权值是整数。
在模板的一个角点处取一个值,并选择一个K 使该角点处值为1。
通过这个系数可以使滤波器整数化,由于整数化后的模板权值之和不等于1,为了保证图像的均匀灰度区域不受影响,必须对滤波模板进行权值规范化。
高斯滤波器的采样值或者高斯滤波器的二项式展开系数可以形成离散高斯滤波器.当用离散高斯滤波器进行卷积时,其结果是一个更大的高斯离散滤波器.若一幅图像用N*N 离散高斯滤波器进行平滑,接着再用M*M 离散高斯滤波器平滑的话,那么平滑结果就和用(N+M-1)*(N+M-1)离散高斯滤波器平滑的结果一样.换言之,在杨辉三角形中用第N 行和第M 行卷积形成了第N+M-1行.五、具体实现二维高斯函数: 2222222),(σσr y x Ae Ae y x G -+-== 当时, ; 时,一般用宽度小于 的滤波器,即 当 时,由连续Gaussian 分布求离散模板,需采样、量化,并使模板归一化。
举例结果如下:图1 原图像lenna 图1 有噪声的lenna 图中的噪声是高斯白噪声。
图3 高斯滤波,σ2=1选取不同参数σ的高斯滤波模板,平滑的效果是有差别的,实际上σ越大其作用域就越宽,即平滑窗口越大,因而平滑的力度就越大,其结果使得图象变得越模糊。
当σ很大时,由于量化的影响,高斯滤波实际上就变成邻域平均了。
该图使用σ2=1即模板尺度为5x5的高斯滤波器。
图4 高斯滤波,σ2=3可以看到高斯滤波虽然能够在一定程度上去掉噪声,但也使得图象变得模糊不清,效果并不能令人满意。
该图使用σ2=3即模板尺度为13x13的高斯滤波器。
图象变得更模糊些。
MATLAB 程序:%%%%%%%%%%%%% The main.m file %%%%%%%%%%%%%%%clc;% Parameters of the Gaussian filter:n1=5;sigma1=3;n2=5;sigma2=3;theta1=0;[w,map]=imread('lenna.gif');x=ind2gray(w,map);filter1=d2gauss(n1,sigma1,n2,sigma2,theta1);y=imnoise(x,'gauss',0.01);f1=conv2(x,filter1,'same');rf1=conv2(y,filter1,'same');figure(1);subplot(2,2,1);imagesc(x);title('lenna');subplot(2,2,2);imagesc(y);title('noisy lenna');subplot(2,2,3);imagesc(f1);title('smooth');subplot(2,2,4);imagesc(rf1);title('noise cancel');colormap(gray);%%%%%%%%%%%%%% End of the main.m file %%%%%%%%%%%%%%%% Function "d2gauss.m":% This function returns a 2D Gaussian filter with size n1*n2; theta is% the angle that the filter rotated counter clockwise; and sigma1 and sigma2 % are the standard deviation of the Gaussian functions.function h = d2gauss(n1,std1,n2,std2,theta)r=[cos(theta) -sin(theta);sin(theta) cos(theta)];for i = 1 : n2for j = 1 : n1u = r * [j-(n1+1)/2 i-(n2+1)/2]';h(i,j) = gauss(u(1),std1)*gauss(u(2),std2);endendh = h / sqrt(sum(sum(h.*h)));% Function "gauss.m":function y = gauss(x,std)y = exp(-x^2/(2*std^2)) / (std*sqrt(2*pi)); %%%%%%%%%%%%%% End of the functions %%%%%%%%%%%%%%%%。