双边滤波

是一种可保边去噪的滤波器,输出像素的值依赖于邻域像素的值得加权组合。噪声、边缘和纹理都是高频信号。

                                                                      $$g\left( {i,j} \right) = \frac{​{\sum\nolimits_{k,l} {f\left( {k,l} \right)w\left( {i,j,k,l} \right)} }}{​{\sum\nolimits_{k,l} {w\left( {i,j,k,l} \right)} }} $$

权重系数$$ w\left( {i,j,k,l} \right) $$取决于定义核和值域核的乘积。

                                              $$w\left( {i,j,k,l} \right) = \exp \left( { - \frac{​{​{​{\left( {i - k} \right)}^2} + {​{\left( {j - l} \right)}^2}}}{​{2\sigma _d^2}} - \frac{​{​{​{\left\| {f\left( {i,j} \right) - f\left( {k,l} \right)} \right\|}^2}}}{​{2\sigma _r^2}}} \right) $$

定义核:

                                                               $$ d\left( {i,j,k,l} \right) = \exp \left( { - \frac{​{​{​{\left( {i - k} \right)}^2} + {​{\left( {j - l} \right)}^2}}}{​{2\sigma _d^2}}} \right) $$

值域核:

                                                               $$ r\left( {i,j,k,l} \right) = \exp \left( { - \frac{​{​{​{\left\| {f\left( {i,j} \right) - f\left( {k - l} \right)} \right\|}^2}}}{​{2\sigma _r^2}}} \right) $$

原理:在平坦区域,像素值差异小,对应值域权重r接近1,此时空域权重d起主要作用,相当于直接对此区域进行高斯模糊。

在边缘区域,像素值差异较大,值域系数权重下降,导致此处(w=r\ast d)核函数下降,当前像素受到的影响就越小,从而保留了边缘的细节信息。

OpenCV双边滤波函数:BilateralFilter()

     SigmaColor :值域核r$${\sigma _r} $$,设置越大,即使离得远,只要值相近,就会相互影响。

     SigmaSpace:空间域核d$${\sigma _d} $$,设置较大,则邻域内像素值相差较大的像素点也会用来平均。

               d        :滤波器尺寸(直径)大于5将变慢

 两个Sigma值,<10影响很小;>150 影响很大。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值