高斯滤波、双边滤波、Retinex图像增强的学习

时间:2024-03-22 22:40:57

一、高斯滤波

二维高斯函数(均值为0),以及 δ = 6图像:
G(x,y)=12πδ2ex2+y22δ2 G(x,y) = \frac 1 {2\pi \delta ^2}e^{- \frac{x^2+y^2}{2\delta ^2}}

高斯滤波、双边滤波、Retinex图像增强的学习

高斯滤波器的平滑程度是由参数σ表征的,σ越大,高斯滤波器的频带就越宽,平滑程度就越好.通过调节平滑程度参数σ。高斯滤波器的截止频率可以由标准差来描述:
fc=12πδ f_c = \frac 1 {2 \pi \delta}
一般情况下,截止频率都定义在半功率点,也就是滤波器的功率谱响应降到一半(-3dB),或者是幅度谱的0.707处。另外,二维高斯函数具有旋转对称性,这也使得它会模糊掉图像的边缘信息。

二、双边滤波

Bilateral filter 是非线性的带有边缘保护的图像降噪平滑滤波器。它以像素邻域附近的加权平均值代替原像素值。权重可以选择高斯分布,但是权重不仅仅有距离像素的欧式距离决定,还受到辐射差值的影响,这可以保留明显的边缘。双边滤波的定义如下:
Ifiltered(x)=1WpxiΩI(xi)fτ(I(xi)I(x))gs(xix) I^{filtered}(x) = \frac 1 W_p\sum_{x_i \in \Omega}I(x_i)f_\tau(\|I(x_i) - I(x)\|)g_s(\|x_i - x \|)
Wp=xiΩfτ(I(xi)I(x))gs(xix) W_p = \sum_{x_i \in \Omega}f_\tau(\|I(x_i) - I(x)\|)g_s(\|x_i - x \|)
权重由空间接近程度和强度差共同决定,例如要对图像的(i,j)点降噪,需要用到它的邻域内的点(k,l),那落在个点上的权重可取为:
w(i,j,k,l)=exp(ik)2+(jl)22δ2I(i,j)I(k,l)22δ2 w(i,j,k,l)=exp\lgroup -\frac{(i-k)^2 + (j-l)^2}{2\delta^2} -\frac{\|I(i,j)-I(k,l) \|^2}{2\delta ^2}\rgroup
像素(i,j)滤波后的值可有下式给出:
ID(i,j)=k,lI(k,l)w(i.j.k.l)k,lw(i.j.k.l) I_D(i,j) = \frac{\sum _{k,l}I(k,l)w(i.j.k.l)}{\sum _{k,l}w(i.j.k.l)}
双边滤波的效果如下:
高斯滤波、双边滤波、Retinex图像增强的学习

三、Retinex算法

Retinex可以在灰度动态范围压缩,边缘增强和颜色恒定性三个方面达到平衡。基本原理是将一副图像分为亮度图像和反射图像两部分,然后通过降低亮度图像对反射图像的影响而达到增强图像的目的。可以描述为:
S(x,y)=R(x,y)L(x,y) S(x,y) = R(x,y) \bullet L(x,y)
其中R(x,y)表示入射光,L(x,y)表示物体的反射性质。S(x,y)被观察者接受就形成了彩色图像。入射光决定图像中像素能达到的动态范围,反射物体决定了图像的内在性质。将上式取对数:
log(S(x,y))=log(R(x,y))+log(L(x,y)) log(S(x,y)) = log(R(x,y)) + log(L(x,y))
单尺度retinex算法:
亮度图像由原图像通过G函数得到,通常这个函数为高斯低通函数。
log(R(x,y))=log[S(x,y)]log[S(x,y)G(x,y)] log(R(x,y)) = log[S(x,y)] - log[S(x,y) * G(x,y)] G(x,y)=λexp(x2+y2)c2λ是常量矩阵,使得:G(x,y)dxdy=1 G(x,y) = \lambda *exp{\frac {-(x^2 + y^2)}{c^2}} \\ \lambda \text{是常量矩阵,使得:} \int \int G(x,y)dxdy = 1
多尺度retinex算法:
多尺度算法通常是单尺度的加权平均,若N = 3,则每个w = 1/3;G函数与单尺度一样是高斯函数,分别带有不同的尺度c,可取值:15\80\200.
r(x,y)=i=1Nwi{log[I(x,y)]log[I(x,y)]Gi(x,y)]} r(x,y) = \sum _{i = 1}^{N}w_i\{ log[I(x,y)]-log[I(x,y)]*G_i(x,y)]\}