图像处理理论——双边滤波, Steerable滤波, Gabor滤波, Schmid滤波
Posted antkillerfarm
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图像处理理论——双边滤波, Steerable滤波, Gabor滤波, Schmid滤波相关的知识,希望对你有一定的参考价值。
http://antkillerfarm.github.io/
双边滤波(Bilateral filter)
双边滤波(Bilateral filter)是一种可以保边去噪的滤波器。其输出像素的值依赖于邻域像素的值的加权组合,即:
g(i,j)=∑k,lf(k,l)w(i,j,k,l)∑k,lw(i,j,k,l)
也就是:
h=w(i,j,k,l)∑k,lw(i,j,k,l)
其中,
w(i,j,k,l)=d(i,j,k,l)⋅r(i,j,k,l)=exp(−(i−k)2+(j−l)22σ2d)⋅exp(−∥f(i,j)−f(k,l)∥22σ2r)
这里的 d(i,j,k,l) 由于只与定义域有关,通常叫做“定义域核”。实际上,这就是一个高斯滤波核。而 r(i,j,k,l) 由于和像素值的差有关(像素差越大,权重越小),也被叫做“值域核”。
从效果来说,双边滤波可产生类似美肤的效果。皮肤上的皱纹和斑,与正常皮肤的差异,远小于黑白眼珠之间的差异,因此前者被平滑,而后者被保留。
为了体现效果,这里来张大叔的照片。
Steerable滤波
高斯滤波是一种各向同性滤波,如果想要对特定方向进行滤波的话,可使用Steerable滤波。
对最简二维高斯函数 G(x,y)=e−(x2+y2) 求1阶偏导可得:
G01=∂G(x,y)∂x=−2xe−(x2+y2),Gπ21=∂G(x,y)∂y=−2ye−(x2+y2)
这就是两个轴向上的1阶Steerable滤波函数。
任意角度的1阶Steerable滤波函数为:
Gθ1=cosθG01+sinθGπ21
如果对高斯函数求2阶偏导,还可得到2阶Steerable滤波函数。进一步的讨论详见参考论文。
参考:
1991年IEEE论文:The Design and Use of Steerable Filters
作者:William T. Freeman,斯坦福大学本科+斯坦福/康奈尔大学双料硕士+麻省理工学院博士,麻省理工学院教授。1987年,曾做为访问学者在太原理工大学待了一学年。不知道爱不爱吃刀削面(^ω^)
Edward H. Adelson,密歇根大学博士,麻省理工学院教授。
Gabor滤波
基、线性无关、正交
一般的函数可以展开为幂级数或者Fourier级数。这些级数中的幂函数或者正弦函数,被称作“基(basis)函数”。
基的属性主要涉及“线性无关”和“正交”这两个名词。
线性无关的几何含义:在 R3 (3维空间)中,如果三个向量不共面,则它们相互线性无关。
基如果线性无关,则其函数的级数展开式是唯一的。由于线性相关基使用的比较少,以下如无特指,基均为线性无关基。
正交的几何含义:两个向量正交,则它们是相互垂直的。
正交基一定线性无关,反之则不成立。一般采用施密特正交化方法,将线性无关基,转换为正交基。
幂级数是线性无关基,而Fourier级数是正交基。
Gabor wavelet
除了以上两种常用的基函数外,其他函数也可以作为基函数。其中使用最多的基函数是小波(wavelet)函数,其变换也被称作小波变换。
需要指出的是,小波函数不是一个函数,而是一类函数。Gabor函数就是小波函数的其中一种,其定义如下:
gt,n(x)=g(x−al)e2πibnx,−∞<l,n<+∞
这里的以上是关于图像处理理论——双边滤波, Steerable滤波, Gabor滤波, Schmid滤波的主要内容,如果未能解决你的问题,请参考以下文章
图像增强基于matlab双边滤波retinex算法暗光图像增强含Matlab源码 2305期