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)