如何在matlab上图像显示gabor核函数

来源:百度知道 编辑:UC知道 时间:2024/05/31 07:05:51
显示不同方向和尺度的核函数的具体算法,程序中gabor小波计算公式应该没错,但是就是无法显示下图的效果,高手帮忙看下吧,谢拉~
对了,核算出来模值很小,具体显示时应该怎样设置呢?我弄成uint8的结果全是0了,加上[]貌似也是全黑的。

这个你用对数把振幅变化一下再显示就OK了,符合人眼感觉.
具体操作:
a = log(c*(s+b)),c和b你自己选个合适的值就OK

、什么是Gabor函数(以下内容含部分翻译自维基百科)
在图像处理中,Gabor函数是一个用于边缘提取的线性滤波器。Gabor滤波器的频率和方向表达同人类视觉系统类似。研究发现,Gabor滤波器十分适合纹理表达和分离。在空间域中,一个二维Gabor滤波器是一个由正弦平面波调制的高斯核函数。
还有,生物学实验发现,Gabor滤波器可以很好地近似单细胞的感受野函数(光强刺激下的传递函数),什么视皮层内的超柱,bla...bla,总之是这方面仿生的数学模型。
另外,网上有一种说法,gabor分为实部和虚部,用实部进行滤波后图像会平滑;虚部滤波后用来检测边缘。【来自百度知道某个大神的回答】,我查了文献,发现的确有人用Gabor的奇函数部分做边缘提取(《基于Gabor滤波器的边缘检测算法》 无线电工程 2000年第3卷第30期)。另外,从我的实验结果也有类似的发现。暂且认为这个对的吧。
Gabor滤波器的脉冲响应,可以定义为一个正弦波(对于二维Gabor滤波器是正弦平面波)乘以高斯函数。由于乘法卷积性质,Gabor滤波器的脉冲响应的傅立叶变换是其调和函数的傅立叶变换和高斯函数傅立叶变换的卷积。该滤波器由实部和虚部组成,二者相互正交。一组不同频率不同方向的Gabor函数数组对于图像特征提取非常有用。
下面给出二维Gabor函数的数学表达:
其中:
下面介绍公式中各个参数的含义,及参数如何配置问题【都从老外那翻译来的】:
波长(λ):它的值以像素为单位指定,通常大于等于2.但不能大于输入图像尺寸的五分之一。
方向(θ):这个参数指定了Gabor函数并行条纹的方向,它的取值为0到360度
相位偏移(φ):它的取值范围为-180度到180度。其中,0he180度分别对应中心对称的center-on函数和center-off函数,而-90度和90度对应反对称函数。
长宽比(γ):空间纵横比,决定了Gabor函数形状(support,我翻译为形状)的椭圆率(ellipticity)。当γ=