高斯平滑滤波器

合集下载

高斯平滑滤波器(含matlab代码)(数据参考)

高斯平滑滤波器(含matlab代码)(数据参考)

Gaussian Smoothing Filter高斯平滑滤波器一、图像滤波的基本概念图像常常被强度随机信号(也称为噪声)所污染.一些常见的噪声有椒盐(Salt & Pepper)噪声、脉冲噪声、高斯噪声等.椒盐噪声含有随机出现的黑白强度值.而脉冲噪声则只含有随机的白强度值(正脉冲噪声)或黑强度值(负脉冲噪声).与前两者不同,高斯噪声含有强度服从高斯或正态分布的噪声.研究滤波就是为了消除噪声干扰。

图像滤波总体上讲包括空域滤波和频域滤波。

频率滤波需要先进行傅立叶变换至频域处理然后再反变换回空间域还原图像,空域滤波是直接对图像的数据做空间变换达到滤波的目的。

它是一种邻域运算,即输出图像中任何像素的值都是通过采用一定的算法,根据输入图像中对用像素周围一定邻域内像素的值得来的。

如果输出像素是输入像素邻域像素的线性组合则称为线性滤波(例如最常见的均值滤波和高斯滤波),否则为非线性滤波(中值滤波、边缘保持滤波等)。

线性平滑滤波器去除高斯噪声的效果很好,且在大多数情况下,对其它类型的噪声也有很好的效果。

线性滤波器使用连续窗函数内像素加权和来实现滤波。

特别典型的是,同一模式的权重因子可以作用在每一个窗口内,也就意味着线性滤波器是空间不变的,这样就可以使用卷积模板来实现滤波。

如果图像的不同部分使用不同的滤波权重因子,且仍然可以用滤波器完成加权运算,那么线性滤波器就是空间可变的。

任何不是像素加权运算的滤波器都属于非线性滤波器.非线性滤波器也可以是空间不变的,也就是说,在图像的任何位置上可以进行相同的运算而不考虑图像位置或空间的变化。

二、图像滤波的计算过程分析滤波通常是用卷积或者相关来描述,而线性滤波一般是通过卷积来描述的。

他们非常类似,但是还是会有不同。

下面我们来根据相关和卷积计算过程来体会一下他们的具体区别:卷积的计算步骤:(1)卷积核绕自己的核心元素顺时针旋转180度(2)移动卷积核的中心元素,使它位于输入图像待处理像素的正上方(3)在旋转后的卷积核中,将输入图像的像素值作为权重相乘(4)第三步各结果的和做为该输入像素对应的输出像素相关的计算步骤:(1)移动相关核的中心元素,使它位于输入图像待处理像素的正上方(2)将输入图像的像素值作为权重,乘以相关核(3)将上面各步得到的结果相加做为输出可以看出他们的主要区别在于计算卷积的时候,卷积核要先做旋转。

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

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

高斯滤波器的原理及其实现过程(附模板代码)来源:网络素材本文主要介绍了高斯滤波器的原理及其实现过程高斯滤波器是一种线性滤波器,能够有效的抑制噪声,平滑图像。

其作用原理和均值滤波器类似,都是取滤波器窗口内的像素的均值作为输出。

其窗口模板的系数和均值滤波器不同,均值滤波器的模板系数都是相同的为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);第三个参数就比较重要了,是高斯分布的标准差。

高斯滤波sigma系数取值范围

高斯滤波sigma系数取值范围

高斯滤波sigma系数取值范围1.引言1.1 概述概述部分的内容应该对高斯滤波的背景和基本原理进行简要介绍。

以下是可能的内容:高斯滤波是一种常用的图像处理方法,被广泛应用于图像平滑和噪声去除的任务中。

它的原理是将一个高斯函数与图像进行卷积操作,从而实现对图像的平滑效果。

高斯函数是一种钟形曲线,它具有一个中心点和一个标准差(sigma)。

通过调整标准差的取值大小,可以控制高斯滤波的程度和效果。

较小的标准差会导致较强的平滑效果,而较大的标准差则会导致较弱的平滑效果。

高斯滤波的实现过程是将每个像素与周围的邻居像素进行加权平均。

这些权重是由高斯函数决定的,距离中心像素越远的邻居像素具有更小的权重。

这种加权平均的操作使得图像中的噪声得到了抑制,同时也能保留图像的边缘信息。

在实际应用中,选择合适的sigma值至关重要。

较小的sigma值可以有效去除高频噪声,但可能会导致细节信息的模糊。

而较大的sigma 值保留了更多的细节信息,但对于噪声的去除效果可能不够明显。

因此,在实际应用中需要根据具体的需求来选择合适的sigma值。

在接下来的文章中,我们将进一步探讨高斯滤波的sigma系数的作用以及推荐的取值范围,以帮助读者更好地理解和应用这一图像处理方法。

1.2 文章结构文章结构部分的内容应该包括以下内容:文章结构部分旨在简单介绍本文的组织结构和各个部分的主要内容,以帮助读者更好地了解文章的整体框架。

本文主要包括引言、正文和结论三个部分。

引言部分主要概述了本文的研究背景和意义,明确了本文的目的和重要性。

在引言部分,将简要介绍高斯滤波的原理和应用,并重点指出高斯滤波的sigma系数在图像处理中的作用。

正文部分将具体讨论高斯滤波的原理和应用,以及高斯滤波的sigma 系数对滤波效果的影响。

在该部分,将通过举例和实验数据来说明不同sigma系数取值范围对滤波结果的影响程度,并对其进行分析和解释。

结论部分将对前文所述内容进行总结,并给出推荐的sigma系数取值范围。

高斯滤波器的原理

高斯滤波器的原理

高斯滤波器的原理高斯滤波器原理高斯滤波器是一种常用的图像处理算法,它主要用于对数字图像进行平滑处理。

其原理是基于高斯函数的卷积运算,通过对图像中的每个像素点进行加权平均,使得图像中的噪声得到抑制,同时保留图像的主要特征。

高斯函数是一种常见的数学函数,可以表达为一个钟形曲线。

它的特点是中心部分较高,两侧逐渐变低,形状类似于正态分布曲线。

在高斯滤波器中,这个函数被用作权重函数,用于计算每个像素点的加权平均值。

在进行高斯滤波之前,首先需要确定滤波器的大小和标准差。

滤波器的大小决定了卷积核的尺寸,一般来说,滤波器越大,平滑效果越明显,但也会导致图像细节的损失。

标准差则决定了高斯函数的形状,标准差越大,曲线越平缓,平滑效果越弱。

具体操作上,高斯滤波器通过将每个像素点与其周围邻域内的像素点进行加权平均来实现。

每个像素点的权重由高斯函数计算得到,权重越大表示该像素点对平均值的贡献越大。

一般情况下,离目标像素点越近的像素点权重越大,离得越远的像素点权重越小。

在进行卷积运算时,高斯滤波器可以采用不同的边界处理方式。

常见的边界处理方式有零填充、复制填充和对称填充等。

这些方式可以解决图像边界处的像素点计算问题,使得滤波结果更加准确。

高斯滤波器的主要优点是能够平滑图像并抑制噪声,同时保持图像的主要特征。

它适用于多种图像处理任务,如图像增强、边缘检测和特征提取等。

在实际应用中,高斯滤波器常常与其他图像处理算法结合使用,以达到更好的效果。

然而,高斯滤波器也存在一些缺点。

首先,滤波器的大小和标准差需要事先确定,不同的参数选择会对滤波结果产生影响。

其次,滤波器的计算复杂度较高,特别是在处理大尺寸图像时,会消耗较多的计算资源。

高斯滤波器对图像的平滑效果可能会导致一些细节的丢失。

在某些应用场景下,如边缘检测,细节保持是非常重要的。

因此,在使用高斯滤波器时需要根据具体需求进行权衡和调整,以获得最佳的处理效果。

总结而言,高斯滤波器是一种常用的图像处理算法,利用高斯函数的卷积运算对图像进行平滑处理。

高斯滤波器的作用

高斯滤波器的作用

高斯滤波器的作用在数字图像处理中,高斯滤波器是一种常用的平滑滤波器,它可以有效地去除图像中的噪声,使图像更加清晰和平滑。

高斯滤波器的作用主要是通过对图像中的像素值进行加权平均来实现的。

高斯滤波器通过在图像上滑动一个小的窗口来处理每个像素。

在窗口内,每个像素的值会与高斯函数中的权重相乘,并求和得到新的像素值。

这样可以使图像中每个像素的值受到周围像素的影响,从而减少噪声的影响,使图像更加清晰。

高斯滤波器的主要作用之一是平滑图像。

在图像处理中,噪声是不可避免的,特别是在低光照条件下拍摄的图像中。

噪声会导致图像细节模糊,影响图像质量。

通过使用高斯滤波器,可以有效地去除图像中的噪声,使图像更加平滑,细节更加清晰。

高斯滤波器还可以用于边缘检测。

边缘是图像中像素值变化较大的地方,通常表示物体之间的分界线或者物体的轮廓。

高斯滤波器可以通过平滑图像来减少噪声的影响,从而更容易检测图像中的边缘。

通过边缘检测,可以帮助我们更好地理解图像内容,进行目标识别和分割。

除了平滑和边缘检测,高斯滤波器还可以用于图像增强和特征提取。

在一些图像处理任务中,我们需要突出图像中的某些特征或者增强图像的对比度。

通过适当调整高斯滤波器的参数,可以实现对图像的增强和特征提取,从而更好地满足不同应用的需求。

总的来说,高斯滤波器在数字图像处理中起着至关重要的作用。

它不仅可以帮助我们去除图像中的噪声,使图像更加清晰和平滑,还可以用于边缘检测、图像增强和特征提取等任务。

因此,熟练掌握高斯滤波器的原理和应用是每个图像处理工程师都应该具备的基本技能。

通过合理地使用高斯滤波器,我们可以更好地处理图像数据,实现各种图像处理任务,提高图像处理的效果和质量。

matlab 高斯滤波器 截止频率-概念解析以及定义

matlab 高斯滤波器 截止频率-概念解析以及定义

matlab 高斯滤波器截止频率-概述说明以及解释1.引言1.1 概述概述高斯滤波器是一种常用的线性平滑滤波器,在图像处理中起着重要作用。

通过对输入图像进行卷积操作,高斯滤波器可以有效地去除图像中的噪声,平滑图像的细节,并提高图像的质量。

在Matlab中,高斯滤波器的应用十分广泛,可以通过内置函数或自定义函数来实现。

本文主要介绍了Matlab中高斯滤波器的使用方法和原理,并重点讨论了截止频率的概念及其对滤波效果的影响。

通过深入研究高斯滤波器的截止频率,我们可以更好地理解滤波器在图像处理中的应用,以及如何调整截止频率来达到更好的滤波效果。

这将有助于读者更好地应用高斯滤波器解决实际的图像处理问题。

1.2 文章结构本文将首先介绍Matlab中的高斯滤波器,包括其在图像处理中的应用和原理。

接着,我们将详细探讨高斯滤波器中截止频率的概念,以及如何通过调整截止频率来影响滤波效果。

最后,我们将对文章进行总结,并展望未来高斯滤波器在图像处理领域的发展前景。

通过本文的阐述,读者将更加深入地了解高斯滤波器的工作原理及其在实际应用中的重要性。

的内容1.3 目的:本文的主要目的是探讨在Matlab中使用高斯滤波器进行图像处理时,如何通过调整截止频率来达到更好的滤波效果。

通过深入分析高斯滤波器的原理和截止频率的概念,我们将探讨如何在实际应用中调整截止频率,以实现对图像的更精确和有效的处理。

通过本文的研究,读者可以更加深入地了解高斯滤波器在图像处理中的作用,并且掌握调整截止频率的方法,从而提高图像处理的质量和效率。

2.正文2.1 Matlab中的高斯滤波器在Matlab中,我们可以通过使用内置函数`fspecial`来创建高斯滤波器。

该函数的语法如下:matlabh = fspecial('gaussian', hsize, sigma);其中,`hsize`表示滤波器的大小,通常为一个奇数,如3、5、7等;`sigma`表示高斯分布的标准差,用于控制滤波器的模糊程度。

高斯滤波引入的振铃现象

高斯滤波引入的振铃现象

高斯滤波引入的振铃现象
高斯滤波器在图像处理中能够有效地抑制噪声,但引入了“振铃”现象。

振铃现象是指在图像处理过程中,图像的边缘或细节出现了剧烈的震荡,就像钟被敲击后产生的空气震荡一样。

高斯滤波器是一种平滑滤波器,其系统函数是平滑的,避免了振铃现象的产生。

相比之下,理想型滤波器(如理想低通滤波器)在傅里叶变换后会产生陡峭的变化,这种变化在逆变换后会产生“振铃”现象。

为了解决这个问题,可以采用巴特沃斯型滤波器。

巴特沃斯型滤波器的阶数越高,其边缘越平滑,振铃现象越不明显。

另外,高斯滤波器由于其傅里叶变换仍然是高斯函数,所以不会产生振铃现象。

总的来说,虽然高斯滤波器会引入一些振铃现象,但是通过合理选择滤波器的阶数或者采用其他合适的滤波器类型,可以有效地减轻或避免振铃现象的产生。

高斯滤波特征提取

高斯滤波特征提取

高斯滤波特征提取高斯滤波特征提取是一种常用的图像处理方法,可用于图像去噪、特征提取等操作。

其基本原理是将图像进行高斯滤波,使图像变得更加平滑,再通过一系列处理方式提取出图像的特征。

具体的操作流程如下:首先,将待处理的图像进行高斯滤波。

高斯滤波是一种线性平滑滤波器,通过卷积的方式对图像进行处理,可以一定程度上去除图像中的噪声。

高斯滤波的具体过程如下:对于一个大小为n×n的高斯滤波器,其中心元素(即滤波器中心的那个元素)位置为(x,y),则该滤波器中各个元素的值为:G(x,y) = 1/(2πσ²) * e^(-((x-[(n-1)/2])²+(y-[(n-1)/2])²)/(2σ²))其中,σ是高斯核函数的标准差,用来控制滤波器的大小和强度。

接下来,将滤波后的图像进行特征提取。

一般来说,可以通过模板匹配、边缘检测、图像分割等方式来提取图像的特征。

其中,模板匹配是一种常用的方法,它的基本思想是利用一个事先设计好的模板在图像中进行匹配,找到图像中与该模板最相似的区域,从而提取出该区域的特征。

模板匹配的具体过程如下:首先,设计一个合适的模板,确定其大小和形状。

然后,对滤波后的图像进行卷积操作,以得到图像的响应。

最后,找到图像中响应最大的区域,即为该图像的特征区域。

需要注意的是,高斯滤波和特征提取过程中的参数选择会直接影响到结果的准确性和效率。

例如,在进行高斯滤波操作时,需要根据具体的情况选择合适的滤波器大小和标准差;在进行模板匹配时,需要根据特定的应用场景设计相应的模板。

总体来说,高斯滤波特征提取是一种有效的图像处理方法,具有广泛的应用前景。

未来,随着人工智能技术的不断发展,它将会在自动驾驶、人脸识别、智能监控等领域起到越来越重要的作用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 Aey x G -+-== 当时, ; 时,一般用宽度小于 的滤波器,即当时,由连续Gaussian分布求离散模板,需采样、量化,并使模板归一化。

举例结果如下:图1 原图像lenna 图1 有噪声的lenna 图中的噪声是高斯白噪声。

图3 高斯滤波,σ2=1选取不同参数σ的高斯滤波模板,平滑的效果是有差别的,实际上σ越大其作用域就越宽,即平滑窗口越大,因而平滑的力度就越大,其结果使得图象变得越模糊。

当σ很大时,由于量化的影响,高斯滤波实际上就变成邻域平均了。

该图使用σ2=1即模板尺度为5x5的高斯滤波器。

图4 高斯滤波,σ2=3可以看到高斯滤波虽然能够在一定程度上去掉噪声,但也使得图象变得模糊不清,效果并不能令人满意。

该图使用σ2=3即模板尺度为13x13的高斯滤波器。

图象变得更模糊些。

MATLAB 程序:%%%%%%%%%%%%% The file %%%%%%%%%%%%%%%clc;% Parameters of the Gaussian filter:n1=5;sigma1=3;n2=5;sigma2=3;theta1=0;[w,map]=imread('');x=ind2gray(w,map);filter1=d2gauss(n1,sigma1,n2,sigma2,theta1);y=imnoise(x,'gauss',;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 file %%%%%%%%%%%%%%%% Function "":% 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 "":function y = gauss(x,std)y = exp(-x^2/(2*std^2)) / (std*sqrt(2*pi)); %%%%%%%%%%%%%% End of the functions %%%%%%%%%%%%%%%%。

相关文档
最新文档