查看文章 |
一:定义 http://en.wikipedia.org/wiki/Gabor_filter There is considerable evidence (reviewed in MacLennan 1991) that images in primary visual cortex (V1) are represented in terms of Gabor wavelets, that is, hierarchically arranged, Gaussian-modulated sinusoids (equivalent to the pure states of quantum mechanics). The Gabor-wavelet transform of a two-dimensional visual field generates a four-dimensional field: two of the dimensions are spatial, the other two represent spatial frequency and orientation. To represent this four-dimensional field in two-dimensional cortex, it is necessary to ``slice'' the field, which gives rise to the columns and stripes of striate cortex. The representation is nearly optimal, as defined by the Gabor Uncertainty Principle (a generalization of the Heisenberg Uncertainty Principle to information representation and transmission). Time-varying two-dimensional visual images may be viewed as three-dimensional functions of space-time, and it is possible that time-varying images are represented in vision areas by a three-dimensional Gabor-wavelet transform, which generates a time-varying five-dimensional field (representing two spatial dimensions, spatial frequency, spatial orientation and temporal frequency). The effect is to represent the ``optic flow'' of images in terms spatially fixed, oriented grating patches with moving gratings. (See MacLennan 1991 for more details.) Finally, Pribram provides evidence that Gabor representations are also used for controlling the generation of motor fields (see citations in MacLennan 1997, p. 64).二:源码 MATLAB源码: http://www.mathworks.com/matlabcentral/fileexchange/7287 C源码 http://vision.ece.ucsb.edu/texture/software/ 三:纹理示例 http://www.ux.uis.no/~tranden/brodatz.html Gabor 滤波器定义为:其脉冲响应为一个谐波函数(即下式中的余弦函数)和一个高斯函数的乘积。根据信号与系统理论,时频域的卷积和乘积互为傅里叶变换。Gabor滤波器的傅里叶变换为谐波和高斯函数各自傅里叶变换的卷积。 Gabor 滤波器,
其中, ![]() 以下是MATLAB中实现: function gb=gabor_fn(sigma,theta,lambda,psi,gamma) ============================================================== 另外一个MATLAB实现函数: function [gab]=gaborcreate(M,N) |


