Gabor变换属于加窗
傅立叶变换,Gabor函数可以在
频域不同尺度、不同方向上提取相关的
特征。另外Gabor函数与人眼的生物作用相仿,所以经常用作纹理识别上,并取得了较好的效果。二维Gabor函数可以表示为:
v的取值决定了Gabor滤波的
波长,u的取值表示Gabor
核函数的方向,K表示总的方向数。参数决定了高斯窗口的大小,这里取。程序中取4个频率(v=0, 1, ..., 3),8个方向(即K=8,u=0, 1, ... ,7),共32个Gabor核函数。
Gabor函数是复值函数,因此在运算过程中要分别计算其实部和
虚部。代码如下:
有了Gabor
核函数后就可以采用前文中提到的“离散二维叠加和
卷积”或“快速
傅立叶变换卷积”的方法求解Gabor变换,并对变换结果求均值和方差作为提取的特征。32个Gabor核函数对应32次变换可以提取64个特征(包括均值和方差)。由于整个变换过程代码比较复杂,这里仅提供测试代码供下载。该代码仅计算了一个101×101尺寸的Gabor函数变换,得到均值和方差。代码采用两种卷积计算方式,从结果中可以看出,快速傅立叶变换卷积的效率是离散二维叠加和卷积的近50倍。