matlab学习:图像频域分析之Gabor滤波
很多同学需要源文档,所以添加了下载链接,方便大家共同学习进步~
本文下载链接:https://files.cnblogs.com/yingying0907/Gabor%E7%AC%94%E8%AE%B0.zip
Gabor变换是D.Gabor 1946年提出的。为了由信号的Fourier变换提取局部信息,引入了时间局部化的窗函数,得到了窗口Fourier变换。由于窗口Fourier变换只依赖于部分时间的信号,所以,现在窗口Fourier变换又称为短时Fourier变换,这个变换又称为Gabor变换。
1) Gabor优点
Gabor小波与人类视觉系统中简单细胞的视觉刺激响应非常相似。它在提取目标的局部空间和频率域信息方面具有良好的特性。虽然Gabor小波本身并不能构成正交基,但在特定参数下可构成紧框架。Gabor小波对于图像的边缘敏感,能够提供良好的方向选择和尺度选择特性,而且对于光照变化不敏感,能够提供对光照变化良好的适应性。上述特点使Gabor小波被广泛应用于视觉信息理解。
Gabor滤波器和脊椎动物视觉皮层感受野响应的比较:第一行代表脊椎动物的视觉皮层感受野,第二行是Gabor滤波器,第三行是两者的残差。可见两者相差极小。Gabor滤波器的这一性质,使得其在视觉领域中经常被用来作图像的预处理。
2) Gabor定义
① 具体窗函数――Gaussaion的 Gabor变换定义式
Gabor变换的基本思想:把信号划分成许多小的时间间隔,用傅里叶变换分析每一个时间间隔,以便确定信号在该时间间隔存在的频率。其处理方法是对f(t)加一个滑动窗,再作傅里叶变换。
设函数f为具体的函数,且,则Gabor变换定义为
其中,,是高斯函数,称为窗函数。其中a>0,b>0.
是一个时间局部化的“窗函数”。其中,参数b用于平行移动窗口,以便于覆盖整个时域。对参数b积分,则有
信号的重构表达式为
Gabor取g(t)为一个高斯函数有两个原因:一是高斯函数的Fourier变换仍为高斯函数,这使得Fourier逆变换也是用窗函数局部化,同时体现了频域的局部化;二是Gabor变换是最优的窗口Fourier变换。其意义在于Gabor变换出现之后,才有了真正意义上的时间-频率分析。即Gabor变换可以达到时频局部化的目的:它能够在整体上提供信号的全部信息而又能提供在任一局部时间内信号变化剧烈程度的信息。简言之,可以同时提供时域和频域局部化的信息。
② 窗口的宽高关系
经理论推导可以得出:高斯窗函数条件下的窗口宽度与高度,且积为一固定值。
矩形时间――频率窗:宽为,高。
由此,可以看出Gabor变换的局限性:时间频率的宽度对所有频率是固定不变的。实际要求是:窗口的大小应随频率而变化,频率高窗口应愈小,这才符合实际问题中的高频信号的分辨率应比低频信号的分辨率要低。
3) 离散Gabor变换的一般求法
① 首先选取核函数
可根据实际需要选取适当的核函数。如,如高斯窗函数;
则其对偶函数为
② 离散Gabor变换的表达式
其中,
是的对偶函数,二者之间有如下双正交关系。
4) Gabor变换的解析理论
Gabor变换的解析理论就是由g(t)求对偶函数的方法。
定义g(t)的Zak变换为
可以证明对偶函数可由下式求出:
有了对偶函数可以使计算更为简洁方便。
5) 适用条件
① 临界采样Gabor展开要求条件:TΩ=2π;
② 过采样展开要求条件:TΩ≤2π;
当TΩ>2π时,欠采样Gabor展开,已证明会导致数值上的不稳定。
6) 应用
① 暂态信号检测
如果对信号波形有一定的先验知识且可以据此选取合适的基函数,可以用Gabor变换对信号作精确的检测统计计量。
② 图象分析与压缩
二维Gabor变换可以应用到图象分析与压缩中。
1. 二维Gabor滤波器
用Gabor 函数形成的二维Gabor 滤波器具有在空间域和频率域同时取得最优局部化的特性,因此能够很好地描述对应于空间频率(尺度)、空间位置及方向选择性的局部结构信息。Gabor滤波器的频率和方向表示接近人类视觉系统对于频率和方向的表示,并且它们常备用于纹理表示和描述。在图像处理领域,Gabor滤波器是一个用于边缘检测的线性滤波器。,在空域,一个2维的Gabor滤波器是一个正弦平面波和高斯核函数的乘积。Gabor滤波器是自相似的,也就是说,所有Gabor滤波器都可以从一个母小波经过膨胀和旋转产生。实际应用中,Gabor滤波器可以在频域的不同尺度,不同方向上提取相关特征。
1) 定义
空域来看:是高斯核函数调制正弦平面波
s(x,y)是复杂的正弦函数,相当于载波;w(x,y)是2维高斯函数包迹。
(u0,v0)定义了正弦平面波的时域频率,在极坐标中可用f和Θ来表示。
a,b 为x和y方向的椭圆高斯的方差
K=1/ab 为高斯包迹的参数
r 为角度旋转的下标
Θ为旋转角度
(x0,y0)为函数峰值,也是接受域的中心
f(x,y) f(x',y')
Gabor滤波器的傅里叶变换:峰值响应在复正弦的空域频率(u0,v0)
Gabor滤波器示意图,3种角度5种方向:
2) 分析
生成2维Gabor滤波器的matlab 代码:
http://blog.sina.com.cn/s/blog_80853788010103wx.html
http://blog.csdn.net/weixingstudio/article/details/7872764
Opencv实现:
http://www.cppblog.com/polly-yang/archive/2012/07/14/183327.aspx