高斯滤波器理解

高斯滤波器是空间滤波器的一种,学习高斯滤波器,需要空间滤波的知识作为先验知识(各种数字图像处理的书中都有介绍,冈萨雷斯的经典教材说的还是比较清楚的,建议看英文版,个人感觉比翻译过来的更容易理解)。

高斯滤波的模板是用高斯公式计算出来的。下面是一维和二维高斯分布函数及其函数图像:
一维高斯分布函数:
在这里插入图片描述
二维高斯分布函数:
在这里插入图片描述
它们的图像分别为:
在这里插入图片描述
在这里插入图片描述
那么高斯滤波模板是怎么生成的呢?是通过二维高斯函数计算出来的。例如,我们假设一个高斯模板的长、宽均为5,方差为0.5,那么首先,我们要在模板上建立一个坐标系,其原点就是高斯模板的中心点,如下图:
在这里插入图片描述
然后每个模板的坐标就可以确定了:
在这里插入图片描述
每个格子对应的坐标,就是二维高斯分布中的(x,y)坐标的值。现在,我们可以计算出高斯模板上每个坐标位置的系数了。例如:
(-2,2)上的权值:W = ,把pi = 3.14, σ=0.5,x=-2,y=2带入上式,获得(-2,2)处的权值。
同理,可以计算 其他位置的权值。
最后获得一个5*5,标准差σ为0.5的高斯滤波器(经过归一化以后):
在这里插入图片描述
matlab中可以使用fspecial函数实现高斯滤波模板,使用方法为:YourFilter = fspecial(‘gaussian’, [ 5 5], 0.5);
在matlab中可以查看fspecial的源代码,通过open fspecial打开。我之前自己写了一个matlab版的实现高斯模板的代码,通过与fspecial的源代码对比,有些不一样的地方,而且我的代码确实不如自带的快,所以在这里只贴源代码。
fspecial函数可以实现多种类型的滤波器,当第一个参数为"gaussian’时,实现的是高斯滤波器,源代码通过switch判断用户想得到哪种类型的滤波器,这里只把与高斯滤波器有关的代码贴出来,并放在一个函数中,我们把这个函数命名为gaussianFilter。函数的代码如下:

function h = gaussianTemplate2( p2, p3 )
%p2是模板的大小,以[m n]的形式定义
%p3是标准差,即σ
%h是输出的高斯模板
%以下代码是从fspecial中贴出来的代码

siz   = (p2-1)/2;           %siz为模板行与列各自最大的坐标值  
std   = p3;                 %标准差幅值给std  

%通过meshgrid产生模板上所有位置的x和y的值,这样的好处是可以避免使用循环去  
%变换坐标值,提高程序运行的速度  
[x,y] = meshgrid(-siz(2):siz(2),-siz(1):siz(1));  
  
%二维高斯分布公式中e的指数  
arg   = -(x.*x + y.*y)/(2*std*std);  

%这里没有乘以1/2*pi*σ^2,也就是没有乘以e前面的系数,因为后面在作归一化的  
%时候,会把这个系数约去,所以在这里直接省去乘法运算,提高程序运行速度  
h     = exp(arg);  
  
%这句话没有太理解,貌似只有在max(h(:))大于1的时候h才有可能小于eps*max(h(:))  
%个人理解应该是限制一下h中的权值,如果权值相对于h中的最大值特别小的话,可以  
%忽略不计,使之为零  
h(h<eps*max(h(:))) = 0;   

%归一化  
sumh = sum(h(:));  
if sumh ~= 0,  
    h  = h/sumh;  
end;  
end  

获得高斯模板后,使用imfilter函数对图像进行滤波,即可获得高斯滤波效果。下面我们使用不同的高斯滤波器,对同一幅图像进行滤波,滤波的结果如下所示:
原始图像:
在这里插入图片描述
加入高斯噪声图像:
在这里插入图片描述
使用55,方差为0.5的高斯滤波器滤波:
在这里插入图片描述
使用5
5,方差为1.5的高斯滤波器滤波:
在这里插入图片描述
使用11*11,方差为0.5的高斯滤波器滤波:
在这里插入图片描述

  • 1
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
高斯滤波器和正则化之间存在一定的关系。正则化是一种用于处理过拟合问题的技术,通过对模型参数进行约束,使得模型更加简单和泛化能力更强。而高斯滤波器是一种线性平滑滤波器,用于图像处理中的减噪过程。它通过对图像中每个像素点及其邻域像素进行加权平均,来实现图像的平滑处理。 在图像处理中,高斯滤波器可以看作是一种正则化的方法。它通过对图像中的像素进行平滑处理,减少了图像中的噪声和细节信息,从而使得图像更加平滑和模糊。这种平滑处理可以看作是对图像的正则化,通过降低图像中的高频成分,减少了图像的复杂度,使得图像更加简单和泛化能力更强。 因此,高斯滤波器可以被视为一种正则化的方法,通过对图像进行平滑处理,降低了图像的复杂度,从而达到了正则化的效果。 #### 引用[.reference_title] - *1* *5* [关于高斯滤波的一些理解](https://blog.csdn.net/lz0499/article/details/54015150)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* *4* [图像处理-高斯滤波器与图像的关系](https://blog.csdn.net/MengYa_Dream/article/details/126627145)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值