高斯滤波之FPGA实现

1 基本概念

滤波,即强调图像中的某些特征,或者去除图像中不需要的信息。例如:图像去燥、图像增强、边缘检测等。

滤波是一个邻域操作算子。通常,邻域选择3x3,5x5等,这些3x3或者5x5的邻域,称作滤波器,掩模或核。利用给定像素邻域内的像素值与掩模做卷积,从而决定该像素的最终输出值。

介绍高斯滤波之前,先从均值滤波说起。

均值滤波,即用掩模确定的领域内像素的平均灰度值代替原像素值

但是,均值滤波在滤除噪声的同时,也会带来模糊边缘的负面效应。如果使用简单平均,显然不是很合理,因为图像都是连续的,越靠近的点关系越密切,越远离的点关系越疏远。因此,加权平均更合理,那么应该如何分配权重呢?

这时,我们就引入了高斯滤波

高斯滤波是一种线性平滑滤波,适用于消除高斯噪声。那么,何谓高斯噪声?

高斯噪声就是它的概率密度函数服从高斯分布(即正态分布)的一类噪声。

高斯滤波器,即根据高斯函数的形状来选择权值的线性平滑滤波器。接着,介绍高斯函数和高斯核。

高斯函数

(1)一维高斯分布

(2)二维高斯分布

高斯核

为了计算权重矩阵,需要设定σ的值。假定σ=1.5,则模糊半径为1的权重矩阵如下:

 

这9个点的权重总和等于0.4787147,这时我们还要确保这九个点加起来为1(高斯模板的特性),因此上面9个值还要分别除以0.4787147,得到最终的高斯核。

 

2 高斯滤波计算

 

有了高斯核,下面的计算就简单了。

在掩模领域内,将9个点分别乘以对应的高斯核权重值,将这9个值加起来,就是中心点的高斯滤波后的值。对所有点重复这个过程,就得到了高斯模糊后的图像。如果原图是彩色图片,可以对RGB三个通道分别做高斯模糊。

 

3 FPGA实现

  1. 缓存图像数据;
  2. 做卷积;
  3. 映射输出。

实现效果如下:

 

4 补充说明

(1)如果一个点处于边界,周边没有足够的点,怎么办?(可以把已有的点映射到另一面的对应位置,构成完整的掩模)

(2)高斯滤波采用加权平均思想,距离越近的点权重越大,距离越远的点权重越小。但是,这个假设在图像的边缘处变得不成立。如果在边缘处也用这种思路来滤波的话,即认为相邻相近,则得到的结果必然会模糊掉边缘,这是不合理的。这就涉及到另外一种滤波算法,双边滤波。

(3)高斯滤波器宽度(决定着平滑程度)是由参数σ表征的。σ越大,高斯滤波器的频带就越宽,平滑程度就越好。通过调节平滑程度参数σ,来达到希望的滤波效果。

                欢迎关注我的微信公众号:FPGA干货架

                                     

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,我没有找到关于高斯滤波的Verilog实现的引用内容。但是,我可以为您提供一个基本的高斯滤波器实现思路。 高斯滤波器是一种线性平滑滤波器,常用于图像处理中的降噪操作。它的主要思想是通过对输入信号进行加权平均来实现平滑效果,其中权重是根据高斯函数计算得出的。 在Verilog中,可以使用一个FIR滤波器结构来实现高斯滤波器。FIR滤波器是一种无反馈回路的滤波器,适合用于实现高斯滤波器的加权平均操作。 具体实现步骤如下: 1. 定义一个存储器来存储输入信号的历史数据。 2. 定义一个系数存储器来存储高斯函数的权重系数。 3. 使用一个乘法器将输入信号与对应的权重系数相乘。 4. 使用一个累加器将乘法器的输出进行累加。 5. 将累加器的输出作为滤波器的输出。 需要注意的是,高斯滤波器的性能取决于权重系数的选择。通常情况下,权重系数是根据高斯函数的形状计算得出的。您可以根据需要自行计算权重系数,并将其存储在系数存储器中。 希望这个基本的实现思路对您有所帮助。如果您需要更详细的Verilog代码实现或其他相关信息,请提供更多的具体要求。 #### 引用[.reference_title] - *1* *3* [FIR滤波器工作原理(算法)以及verilog算法实现(包含与IIR的一些对比)](https://blog.csdn.net/aur123682/article/details/101462812)[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^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [基于FPGA的医学图像中值滤波verilog实现,包括testbench和MATLAB验证程序](https://blog.csdn.net/hlayumi1234567/article/details/129567471)[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^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值