讨论记录:gabor变换

2008-01-10 19:03:05 百合—lily
我想问问你Gabor的参数问题

2008-01-10 19:03:14 百合—lily
你是确定哪几个参数?

2008-01-10 19:03:41 百合—lily
我现在看文章看的糊涂了

2008-01-10 19:04:02 柳锋
% I      输入待滤波图像
% Sx,Sy  滤波窗口大小
% f      滤波频率
% theta  滤波方向
% alpha  滤波参数
% beta   滤波参
 

2008-01-10 19:04:26 柳锋
我一般可变的是这两个:
% f      滤波频率
% theta  滤波方向
 

2008-01-10 19:04:26 百合—lily
% Sx,Sy  滤波窗口大小是自己确定的?

2008-01-10 19:04:49 柳锋
嗯,对头。我一个一个试,然后看哪个效果好,就设为哪个
 

2008-01-10 19:05:03 百合—lily
这个程序是网上下的吧

2008-01-10 19:05:14 柳锋
嗯。对
 

2008-01-10 19:05:25 柳锋
很简单的一段。
 

2008-01-10 19:05:31 柳锋
通过卷积来实现
 

2008-01-10 19:05:33 百合—lily
是的

2008-01-10 19:05:47 百合—lily
我不太明白

2008-01-10 19:06:02 柳锋
我以前看得也很晕
 

2008-01-10 19:06:15 百合—lily
我看的文献里面涉及到频率带宽和方向带宽

2008-01-10 19:06:44 柳锋
频率和方向吧?“带宽”是个啥?意思
 

2008-01-10 19:07:04 百合—lily
不是,是带宽

2008-01-10 19:07:27 柳锋
不是很明白。貌似没见过这玩意
 

2008-01-10 19:08:02 百合—lily

2008-01-10 19:08:54 百合—lily

2008-01-10 19:10:12 百合—lily
Sx和Sy是通过频率带宽和方向带宽求出来的

2008-01-10 19:10:23 百合—lily
不是人为给的

2008-01-10 19:10:27 柳锋
我看看先。
 

2008-01-10 19:13:18 百合—lily
你是怎么理解的

2008-01-10 19:13:34 柳锋
我理解是 Sx与Sy 确定了滤波窗口的大小
 

2008-01-10 19:13:39 百合—lily
是的

2008-01-10 19:13:46 柳锋
deltax,deltay确定了滤波的频率
 

2008-01-10 19:13:44 百合—lily
这个是一定的

2008-01-10 19:14:19 柳锋
窗口大小 与 频率和方向 好像没啥关系。
 

2008-01-10 19:14:28 百合—lily

2008-01-10 19:14:44 百合—lily
不明白了

2008-01-10 19:15:24 柳锋
我是通过傅立叶变换来理解gabor变换 的
 

2008-01-10 19:16:08 柳锋
傅立叶变换只能提取信号的整个空域信息;丢失了时间信息;
将其加窗以后,就能获得窗口内的局部信息;
窗口大小,显然 与频率 没有关系
 

2008-01-10 19:16:42 柳锋
频率 只是 反应了 信号的 变化
 

2008-01-10 19:16:53 柳锋
变化速度
 

2008-01-10 19:17:06 百合—lily
Sx和Sy不就是公式里面的谁它x和谁它y妈

2008-01-10 19:17:23 柳锋
不是的吧
 

2008-01-10 19:17:48 百合—lily

2008-01-10 19:19:20 柳锋
公式里面的(deltax,deltay,或者thetax,thetay)是通过 频率 确定的
 

2008-01-10 19:19:22 百合—lily
 
function [G,gabout] = gaborfilter(I,Sx,Sy,f,theta);
 
if isa(I,'double')~=1
    I = double(I);
end
 
for x = -fix(Sx):fix(Sx)
    for y = -fix(Sy):fix(Sy)
        xPrime = x * cos(theta) + y * sin(theta);
        yPrime = y * cos(theta) - x * sin(theta);
        G(fix(Sx)+x+1,fix(Sy)+y+1) = exp(-.5*((xPrime/Sx)^2+(yPrime/Sy)^2))*cos(2*pi*f*xPrime);
    end
end
 
Imgabout = conv2(I,double(imag(G)),'same');
Regabout = conv2(I,double(real(G)),'same');
 
gabout = sqrt(Imgabout.*Imgabout + Regabout.*Regabout);
 

2008-01-10 19:19:36 柳锋
我也用的这个代码
 

2008-01-10 19:19:36 百合—lily
你用的是这个公司吗

2008-01-10 19:19:48 柳锋
细节不一样。
 

2008-01-10 19:19:51 柳锋
 G(fix(Sx)+x+1,fix(Sy)+y+1)=exp(-((xPrime^2)*(alpha^2)+(yPrime^2)*(beta^2)))*exp(j*2*pi*f*xPrime);
 

2008-01-10 19:20:11 柳锋
你的是实部,没有考虑虚部。
 

2008-01-10 19:20:14 百合—lily
dui

2008-01-10 19:20:19 柳锋
两种不同的形式
 

2008-01-10 19:20:33 百合—lily
我就只考虑虚部的

2008-01-10 19:20:47 百合—lily
实步的

2008-01-10 19:22:09 柳锋
刚才给我看的那个公式,和你的代码并不一致的
 

2008-01-10 19:22:56 百合—lily
我这个只考虑的是实部的

2008-01-10 19:23:25 百合—lily
给你的公式后面还要乘一个exp(j*2*pi*f*xPrime)

2008-01-10 19:24:05 百合—lily
我取的是实部

2008-01-10 19:24:23 百合—lily
所以是发给你的代码

2008-01-10 19:25:15 柳锋
for x = -fix(Sx):fix(Sx)//Sx,Sy确定滤波窗口大小
    for y = -fix(Sy):fix(Sy)
        xPrime = x * cos(theta) + y * sin(theta);//theta确定滤波的方向
        yPrime = y * cos(theta) - x * sin(theta);
        G(fix(Sx)+x+1,fix(Sy)+y+1) = exp(-.5*((xPrime/Sx)^2+(yPrime/Sy)^2))*cos(2*pi*f*xPrime);//f确定滤波的频率
    end
end
 
 

2008-01-10 19:25:45 柳锋
滤波窗口 与 滤波 频率 我觉得,是没有什么关系的
 

2008-01-10 19:26:50 百合—lily
没有关系?

2008-01-10 19:27:00 百合—lily
我就是这边想不明白

2008-01-10 19:27:55 百合—lily
function [G1,G2,gabout1,gabout2] = gaborfilter(I,Sx,Sy,f,theta);
 
if isa(I,'double')~=1
    I = double(I);
end
 
for x = -fix(Sx):fix(Sx)
    for y = -fix(Sy):fix(Sy)
  

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值