gabor滤波器实现

Gabor滤波在图象处理中的特征提取、纹理分析和立体视差估计等方面有许多应用。它对应的冲激响应是将复指数振荡函数乘以高斯包络函数所得的结果。下面记录了GABORFILTER matlab代码(Stiven Schwanz Dias)和文献《Tutorial on Gabor Filters》(Movellan)的一些要点。

一、两维空间Gabor滤波器

公式:

g=s*wr
其中:
g(x, y): gabor基函数

s(x, y): 复高斯函数、载体

wr(x, y): 两维高斯窗函数

(一)高斯函数

s(x,y)=exp(j(2*pi*(u0*x+v0*y)+P))
其中:

(u0, v0) P 分别为s(x, y)的空间频率和相位参数(笛卡尔空间),这三个参数也可以写为极坐标形式:

F0=(u0^2+v0^2)^0.5
wo=arctan(v0/u0)

那么:

s(x,y)=exp(j(2*pi*F0(x*cosw0+y*sinw0)+P))

 

(二)窗口函数

定义为:
wr(x,y)=K*exp(-pi*(a^2*(x-x0)^2)+b^2*(y-y0)^2)


(三)gabor滤波基函数的形式

1、笛卡尔复空间

g(x,y)=K*exp(j(2*pi(u0*x+v0*y)+P))
            *exp(-pi*(a^2*(x-x0)^2)+b^2*(y-y0)^2)

2、极坐标
g(x,y)=K*exp(j(2*pi*F0*(x*cosw0+y*sinw0)+P))
        *exp(-pi*(a^2*(x-x0)^2)+b^2*(y-y0)^2)

    3、去除DC响应

g(x, y)  =  k*(exp(j*(2*pi*F*(x*cos(W)+y*sin(W))+P))-exp(-pi*(F/S)^2+j*P))

            *exp(-pi*S^2*(x*x+y*y))

令x0=y0=0,a=b=S

GABORFILTER.m 就是利用上式实现基函数。去除DC响应可参考文献1.3。

    
二、代码

(一)GABORFILTER.m

function [G,GABOUT]=GABORFILTER(I,S,F,W,P)
%   GABOUT      : filtered image GABOUT
%   I           : input image
%   S           : modulated by a complex sinusoid,影响窗口幅度
%   F           : frequency (F,W)
%   W           : frequency (F,W)
%   P           : phase

if isa(I,'double')~=1 I=double(I); end size=fix(1.5/S); % exp(-1.5^2*pi) < 0.1% %k=2*pi*S^2; %F=S^2/sqrt(2*pi); k=1; for x=-size:size for y=-size:size G(size+x+1,size+y+1)=k*exp(-pi*S^2*(x*x+y*y))*... (exp(j*(2*pi*F*(x*cos(W)+y*sin(W))+P))-exp(-pi*(F/S)^2+j*P)); end end GABOUT=conv2(I,double(G),'same');

(二)test.m

 

clear;clc;

Irgb=imread('\lena.jpg');
I=rgb2gray(Irgb);     
figure(1);
subplot(221),imshow(I);title('原图');

%  第一类
S=1/4; F =2^0.5; W=1; P = 0; 
[G,GABOUT]=GABORFILTER(I,S,F,W,P);%  figure(1);plot(abs(G))
Ig=mat2gray(abs(GABOUT));
subplot(222),imshow(Ig);title(['S=' num2str(S) ',P=' num2str(P)]);

 

 

 

 

  
  
  
  
  
  
  
  
 
 
 


转载于:https://www.cnblogs.com/imgvs/archive/2012/09/08/2677096.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值