平滑空间滤波器(附C语言实现代码)

平滑空间滤波器

1 什么是滤波

用书本上的话来说,滤波就是接受或拒绝(过滤)一定的频率部分(波)

我个人的理解是:滤波是一个二维函数(映射),它对一个假象的二维平面上的对象进行某种变换,这个变换可以是线性的也可以是非线性的。

· 2 空间滤波机理

滤波最直接的应用就是滤波器,空间滤波器又称掩膜、核、模板和窗口,用一张图来说明比较形象:
在这里插入图片描述
如图所示,空间滤波器将目标邻域(一个小矩形)的所有像素值通过模板给出的系数(图中w(0,0)等等权重就可以看成系数)运算后,生成一个新像素(滤波结果)覆盖模板的中间像素的值。

前面说过,可以把这个(滤波器)模板看成一个函数,所以对应不同功能有很多,目前我对几种平滑滤波器和锐化滤波器比较了解,所以这篇先讨论平滑滤波器。

· 3平滑滤波器

平滑滤波器,按课本上的定义就是:平滑滤波器用于模糊处理和降低噪声。

我们常说的打码、虚化、羽化都跟平滑滤波有关,效果就是让图像变得看起来不那么尖锐。

15x15均值滤波器的效果15x15均值滤波器的效果

一般把平滑滤波器分为线性和非线性滤波器。

通俗地来讲:
线性平滑滤波器就是求一个滤波器区域像素的加权均值,有各种不同的尺寸(模板大小),很好理解。

非线性平滑滤波器(统计排序滤波器)就是将滤波器区域像素的值进行各种排序,然后选择最大值、最小值、中值等等,填入中间的像素,这些平滑滤波器所以又叫最大值滤波器,最小值滤波器,中值滤波器,其中中值滤波器是使用最广泛的统计排序滤波器(因为降噪效果好)
在这里插入图片描述

两种均值滤波器(这俩都是3x3模板,还可以有5x5、15x15等等)

在这里插入图片描述

不同尺寸均值滤波器的模糊效果

在这里插入图片描述

中值滤波器的降噪效果(对椒盐噪声)

· ·

核心代码
关注公众号:凡古一往
回复关键词:平滑
获取完整代码
在这里插入图片描述

-END-

【数字图像处理】平滑空间滤波器浅析

公众号搜索:凡古一往

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Butterworth滤波器是工程领域常用的一种低通滤波器,它的主要特点是在截止频率范围内具有平滑变化的透过度,也就是通带波形平坦没有畸变。在语音信号处理、图像处理以及信赖数字系统中被广泛应用。 Butterworth滤波器的核心部分是对传输函数的设计,其传输函数的公示为 H(s) = 1/(1 + (s/ωc)^(2*n)),其中s是复变量,ωc是截止频率,n是滤波器阶数。不同阶数的Butterworth滤波器具有不同的幅频特性,常用的阶数有2、4、6、8等。 在实现Butterworth滤波器时,可以采用不同的方法,最常用的是蝶形算法和差分算法。蝶形算法利用混合算法结合FFT的快速算法来实现Butterworth滤波器,而差分算法则是一种基于离散时间的算法,实现起来比较简单。 在C语言实现中,Butterworth滤波器的设计和实现可以通过相关的工具库来实现。比如MATLAB、Python和Scipy等都提供了对信号处理的支持,其中就包括Butterworth滤波器实现。当然,也可以进行自己的实现,例如使用sinc函数进行滤波器设计,或是结合差分算法进行实现。在实现时,需要注意选取合适的滤波器阶数和截止频率,并对滤波器的性能进行评估和测试,确保其满足需要的效果。 总的来说,Butterworth滤波器是一种比较常用的低通滤波器,其平滑的特性适用于信号处理和数字系统的设计。在实现时,需要根据不同的需求和情况进行设计和选择算法,并进行合适的测试和评估来确保其滤波器的性能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值