guided filter学习笔记

相关滤波器学习

Bilateral Filter

Bilateral Filter 为双边滤波, 其降噪效果在达到平滑降噪的功能的同时亦能保护边缘特征(edge-preserving). 这与他的滤波器的两个功能函数有关, 第一个便是空间核域函数, 这个函数通过欧氏距离来衡量每一个filter中各个像素与中心像素的距离来给每一个像素赋予权重; 第二个便是值域核函数, 这个函数通过对每一个filter中各个像素值与中心像素值的差值来对该filter中的每一个像素赋予权重.

在对Bilateral Filter的学习过程中, 借鉴了pan_jinquan博客的相关内容.

首先, 引用其他博主的关于对区域边缘的理解, 如下:

我们都知道,一幅自然的图像可以被看成是有(过渡平缓的,也就是梯度较小)区域和(过渡尖锐的,也就是梯度较大)边缘(也包括图像的纹理、细节等)共同组成的。噪声是影响图像质量的不利因素,我们希望将其滤除。噪声的特点通常是以其为中心的各个方向上梯度都较大而且相差不多。边缘则不同,边缘相比于区域也会出现梯度的越变,但是边缘只有在其法向方向上才会出现较大的梯度,而在切向方向上梯度较小。

空间核函数

w d i , j ( k , l ) = e x p ( − ( k − i ) 2 + ( l − j ) 2 2 σ 2 ) w_d^{i, j}(k, l) = exp(-\frac{(k - i)^2 + (l - j)^2}{2\sigma^2}) wdi,j(k,l)=exp(2σ2(ki)2+(lj)2)
在该数学函数式中, (i, j)为该filter的中心的坐标, (k, l)为filter中每一个像素点的坐标, ( k − i ) 2 + ( l − j ) 2 (k - i)^2 + (l - j)^2 (ki)2+(lj)2为该像素点与中心像素点的欧式空间距离, 下部的 σ \sigma σ正态分布的标准差;

理解:在某一个filter中, 距离中心像素点越近, 其空间核函数的值越大; 反之, 距离中心像素点越远, 其空间核函数值越小. 在相对较平坦区域, 该函数其主要作用. 可以结合下图理解空间核函数.
空间核函数

值域核函数

w r i , j ( k , l ) = e x p ( − ( f ( k , l ) − f ( i , j ) ) 2 2 σ 2 ) w_r^{i, j}(k, l) = exp(-\frac{(f(k, l) - f(i, j))^2}{2\sigma^2}) wri,j(k,l)=exp(2σ2(f(k,l)f(i,j))2)
在该数学函数式中, f ( i , j ) f(i, j) f(i,j)为该filter中心像素的值, f ( k , l ) f(k, l) f(k,l)为filter中周围的像素点的值.

理解: 在某一个filter中, 周围像素点的值与中心像素点的值越接近, w r w_r wr所给赋予该像素点的值域权重越大; 反之, 周围像素点的值与中心像素点的值相差越大, w r w_r wr所给赋予该像素点的值域权重越小. 这样的处理方式保证了在对边缘处理时的特征保留, 即在陡峭区域, 该函数起主要作用.

权值 w w w

w i , j ( k , l ) = w d i , j ( k , l ) ∗ w r i , j ( k , l ) w_{i, j}(k, l) = w_d^{i, j}(k, l) * w_r^{i, j}(k, l) wi,j(k,l)=wdi,j(k,l)wri,j(k,l)

应用模型

将应用模型分为三个部分, input_part§, process_part(箭头), output_part()q
在这里插入图片描述

input_part

左图为输入部分, 我们想计算机输入一张图片, 假设该图片为 m ∗ n m*n mn像素, 我们可以用一个矩阵来表示输入的内容:
i n p u t C o n t e n t = [ i n p u t 1 , 1 … i n p u t 1 , n … i n p u t i , j … i n p u t m , 1 … i n p u t m , n ] inputContent = \begin{bmatrix} input_{1, 1}&…&input_{1, n}\\ \\…&input_{i, j}&…\\ \\input_{m, 1}&…&input_{m, n} \end{bmatrix} \quad inputContent=input1,1inputm,1inputi,jinput1,ninputm,n

output_part

右图为输出部分, 经过处理后, 计算机将输出一张和输入图片同尺寸的图片, 我们也用一个矩阵存储.
o u t p u t C o n t e n t = [ o u t p u t 1 , 1 … o u t p u t 1 , n … o u t p u t i , j … o u t p u t m , 1 … o u t p u t m , n ] outputContent = \begin{bmatrix} output_{1, 1}&…&output_{1, n}\\ \\…&output_{i, j}&…\\ \\output_{m, 1}&…&output_{m, n} \end{bmatrix} \quad outputContent=output1,1outputm,1outputi,joutput1,noutputm,n

process_part

处理输入的数据, 输出处理后的数据, 便是process_part的功能, 具体处理过程如下:
i n p u t C o n t e n t inputContent inputContent处理成一个 m ∗ n ∗ ( t ∗ t ) m*n*(t * t ) mn(tt)的矩阵 i n p u t C o n t e n t ′ inputContent' inputContent, 其元素 i n p u t C o n t e n t i , j ′ inputContent'_{i, j} inputContenti,j的值为 ( n ∗ n ) (n * n) (nn)的矩阵,
o u t p u t C o

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值