Bilateral Filtering(双边滤波) for SSAO

本文介绍了双边滤波(Bilateral Filtering)在SSAO中的使用,阐述了其原理,即通过结合空间距离和像素相似度来保持边缘信息。文章详细解释了双边滤波的代码实现,包括Spatial Weight、Similarity Weight和Color Filtering,并对比了双边滤波与高斯滤波在图像平滑中的效果。最后,展示了在SSAO中应用双边滤波的降噪效果。
摘要由CSDN通过智能技术生成

1. 简介

图像平滑是一个重要的操作,而且有多种成熟的算法。这里主要简单介绍一下Bilateral方法(双边滤波),这主要是由于前段时间做了SSAO,需要用bilateral blur 算法进行降噪。Bilateral blur相对于传统的高斯blur来说很重要的一个特性即可可以保持边缘(Edge Perseving),这个特点对于一些图像模糊来说很有用。一般的高斯模糊在进行采样时主要考虑了像素间的空间距离关系,但是却并没有考虑像素值之间的相似程度,因此这样我们得到的模糊结果通常是整张图片一团模糊。Bilateral blur的改进就在于在采样时不仅考虑像素在空间距离上的关系,同时加入了像素间的相似程度考虑,因而可以保持原始图像的大体分块进而保持边缘。在于游戏引擎的post blur算法中,bilateral blur常常被用到,比如对SSAO的降噪。

2. 原理

滤波算法中,目标点上的像素值通常是由其所在位置上的周围的一个小局部邻居像素的值所决定。在2D高斯滤波中的具体实现就是对周围的一定范围内的像素值分别赋以不同的高斯权重值,并在加权平均后得到当前点的最终结果。而这里的高斯权重因子是利用两个像素之间的空间距离(在图像中为2D)关系来生成。通过高斯分布的曲线可以发现,离目标像素越近的点对最终结果的贡献越大,反之则越小。其公式化的描述一般如下所述:

其中的c即为基于空间距离的高斯权重,而用来对结果进行单位化。

高斯滤波在低通滤波算法中有不错的表现,但是其却有另外一个问题,那就是只考虑了像素间的空间位置上的关系,因此滤波的结果会丢失边缘的信息。这里的边缘主要是指图像中主要的不同颜色区域(比如蓝色的天空,黑色的头发等),而Bilateral就是在Gaussian blur中加入了另外的一个权重分部来解决这一问题。Bilateral滤波中对于边缘的保持通过下述表达式来实现:

其中的s为基于像素间相似程度的高斯权重,同样用来对结果进行单位化。对两者进行结合即可以得到基于空间距离、相似程度综合考量的Bilateral滤波:

<

  • 32
    点赞
  • 117
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
双边滤波在图像处理领域有广泛的应用场景,以下是一些常见的应用场景: 1. 图像去噪:双边滤波能够有效地去除图像中的各种类型的噪声,包括高斯噪声、椒盐噪声等。它能够平滑图像,同时保持图像的细节和边缘信息,使得去噪后的图像更加清晰和自然。 2. 图像增强:双边滤波可以用于增强图像的细节和纹理信息。通过调整滤波器参数,可以使得图像中的细节更加突出,纹理更加清晰。这对于图像增强、图像重建等任务非常有用。 3. 边缘保护:传统的线性滤波器在平滑图像时会模糊边缘,导致图像失真。而双边滤波能够通过考虑像素间的相似性来保持边缘信息,从而避免了这种问题。这使得它在边缘保护和边缘增强等任务中得到广泛应用。 4. 图像分割:双边滤波可以用于图像分割任务。通过对图像进行双边滤波处理,可以使得图像中不同区域的边界更加清晰,从而更容易进行图像分割和目标提取。 5. 视频处理:双边滤波也可以应用于视频处理任务。它可以对视频序列中的每一帧进行滤波处理,以去除噪声和平滑图像。这对于视频压缩、视频增强和视频分析等应用非常重要。 总的来说,双边滤波在图像处理中的应用非常广泛,涵盖了图像去噪、图像增强、边缘保护、图像分割、视频处理等多个领域。它能够平滑图像的同时保留细节和边缘信息,提高图像质量和处理效果。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值