傅里叶变换自提出后被广泛地运用于信号、图像领域,但傅里叶变换是在整个时域进行分析,其变换到频域后丢失了原来的时域信息。对一整副图像进行傅里叶变换后,我们只能得到整副图像的频率分布情况,但很多时候我们是关心图像的局部频率分布,像边缘部分,这时傅里叶就无能无力了。为了使傅里叶具有局部特性,D.Gabor在1946年提出窗口傅里叶变换,即gabor变换。
为了同时获取信号的频域和时域信息,一个直观的做法就是给信号加一个窗函数,则此时傅里叶变换只对窗函数覆盖下的部分信号起作用,由此即可获得了局部信号的频域信息。
设f为具体函数,并且f(x)∈L2(R),则窗口傅里叶变换(WFT)定义为
为了把Gabor变换用于图像领域,人们把Gabor函数推广到二维形式,形成的二维Gabor滤波器。二维Gabor滤波器在频域和空间域都具有最优的局部特性,能够很好地描述空间频率、空间位置和方向选择性等局部信息,同时对光照不敏感。神经科学家还发现,Gabor滤波器的响应和脊椎动物大脑视觉皮层的简单细胞响应非常相似。正是Gabor滤波非常适合用于图像的边缘检测,Soares1 等人把它用在眼底图像中进行特征提取。
设 x=[x1,x2]T∈R2 ,则二维Gabor滤波器定义为
眼底血管Gabor滤波增强效果图, 左:尺度为2, 右:尺度为4
scales = [2,3,4,5];
erosion = 5;
[~, morlet] = generatemorletfeatures(img,mask,scales,erosion);
morlet = morlet(:,:,2:end);
for i=1:size(morlet,3)
morlet(:,:,i) = normalize(morlet(:,:,i));
end
features = cat(3, features, morlet);
完整代码包见http://download.csdn.net/detail/u013288466/9849447