`
kofsky
  • 浏览: 201690 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

讨论记录: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)
        M1 = cos(2*pi*f*sqrt(x^2+y^2));
        M2 = cos(2*pi*f*(x*cos(theta)+y*sin(theta)));
        G1(fix(Sx)+x+1,fix(Sy)+y+1) = (1/(2*pi*Sx*Sy)) * exp(-.5*((x/Sx)^2+(y/Sy)^2))*M1;
        G2(fix(Sx)+x+1,fix(Sy)+y+1) = (1/(2*pi*Sx*Sy)) * exp(-.5*((x/Sx)^2+(y/Sy)^2))*M2;
    end
end
 
Imgabout1 = conv2(I,double(imag(G1)),'same');
Regabout1 = conv2(I,double(real(G1)),'same');
 
Imgabout2 = conv2(I,double(imag(G2)),'same');
Regabout2 = conv2(I,double(real(G2)),'same');
 
gabout1 = sqrt(Imgabout1.*Imgabout1 + Regabout1.*Regabout1);
gabout2 = sqrt(Imgabout2.*Imgabout2 + Regabout2.*Regabout2);
 

2008-01-10 19:28:37 百合—lily
你看这段程序,   G2(fix(Sx)+x+1,fix(Sy)+y+1) = (1/(2*pi*Sx*Sy)) * exp(-.5*((x/Sx)^2+(y/Sy)^2))*M2;
这个和我发给你的公式是一样的

2008-01-10 19:29:18 百合—lily
如果对照的话Sx和Sy就是thetax,thetay)

2008-01-10 19:29:20 百合—lily
对妈

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

2008-01-10 19:29:40 百合—lily
好的

2008-01-10 19:30:33 柳锋
嗯。对。是一致的。
 

2008-01-10 19:31:28 百合—lily
thetax,thetay和F(频率)是有关系的啊

2008-01-10 19:32:49 柳锋
你下的这个gabor变换的包还在不?传给我看看
 

2008-01-10 19:33:12 百合—lily
什么包?

2008-01-10 19:33:15 百合—lily
程序妈

2008-01-10 19:33:17 百合—lily
好的

2008-01-10 19:33:28 柳锋
对。里面有篇文章的,我记得
 

2008-01-10 19:33:33 百合—lily

2008-01-10 19:33:43 百合—lily
我下的没有文章

2008-01-10 19:33:49 百合—lily
就只有几个程序

2008-01-10 19:34:18 柳锋
噢~~我再找找文章。我记得我一直这样理解的。
 

2008-01-10 19:34:27 百合—lily
我刚给你发的是我看另外文章里面看到的

2008-01-10 19:34:37 百合—lily
所以才会迷茫

2008-01-10 19:34:53 百合—lily
要不要我把文章发给你看看

2008-01-10 19:35:04 柳锋
好。可以啊。
 

2008-01-10 19:35:14 柳锋
我以前看的几篇文章都不在这里,晕死了。
 

2008-01-10 19:35:30 柳锋
都很久以前搞的,把程序搞好跑出效果来就没管了。
 

2008-01-10 19:35:42 百合—lily
用什么传?

2008-01-10 19:35:49 柳锋
直接qq吧
 

2008-01-10 19:35:57 百合—lily
貌似网速很慢

2008-01-10 19:36:08 百合—lily
发到qq信箱把

2008-01-10 19:36:18 柳锋
试试撒
 

2008-01-10 19:36:27 百合—lily
好的

2008-01-10 19:38:08 百合—lily
接受

2008-01-10 19:38:31 百合—lily
是caj的,你装阅读器了吧

2008-01-10 19:38:42 百合—lily
这个是中文的,看起来快些

2008-01-10 19:38:45 柳锋
晕。
 

2008-01-10 19:38:48 百合—lily
怎么?

2008-01-10 19:38:51 柳锋
发我邮箱吧。 kofsky@gmail.com
 

2008-01-10 19:38:53 百合—lily

2008-01-10 19:40:47 百合—lily
发过去了

2008-01-10 19:43:42 柳锋
好的。我马上收收看。
 

2008-01-10 19:44:01 百合—lily
谢了

2008-01-10 19:44:08 百合—lily
你是用什么编程?

2008-01-10 19:44:17 百合—lily
你是学什么的啊?嘿嘿!

2008-01-10 19:49:28 柳锋
编程?做图像处理最近都用的matlab,vc只写过一个demo
 

2008-01-10 19:49:32 柳锋
刚才掉线了。
 

2008-01-10 19:49:35 柳锋
我学计算机的
 

2008-01-10 19:50:02 百合—lily
计算机的?编程很强吧

2008-01-10 19:50:26 柳锋
晕:

 

2008-01-10 19:50:41 柳锋
打不开。文件名用中文老有这种问题。
 

2008-01-10 19:51:01 百合—lily
什么意思?

2008-01-10 19:51:07 柳锋
写程序还行。写过比较多。
 

2008-01-10 19:51:16 柳锋
我现在正在改变参数,看效果
 

2008-01-10 19:51:18 柳锋
打不开
 

2008-01-10 19:51:29 柳锋
要把名字改成英文的,再发下
 

2008-01-10 19:51:31 百合—lily
什么打不开?

2008-01-10 19:51:35 百合—lily
哦好的

2008-01-10 19:54:03 百合—lily
好了

2008-01-10 19:54:30 柳锋
嗯。看到了。
 

2008-01-10 19:58:43 柳锋
不太懂那个带宽是啥意思
 

2008-01-10 19:58:51 百合—lily
文章里面我感觉有点小错误:=θ,

2008-01-10 19:59:12 百合—lily
应该是φ==θ

2008-01-10 19:59:24 百合—lily
带宽其实就是间隔

2008-01-10 19:59:26 百合—lily
的意思

2008-01-10 19:59:46 百合—lily
F频率隔多少改变一次

2008-01-10 19:59:55 百合—lily
角度隔多少改变一次

2008-01-10 20:00:36 柳锋
噢。我说了,带宽我知道是啥意思
不太明白那个 频带带宽和 方向贷款
 

2008-01-10 20:00:40 柳锋
我再看看
 

2008-01-10 20:00:44 百合—lily
频率的带宽一般用频程表示

2008-01-10 20:00:46 柳锋
我说错了e
 

2008-01-10 20:01:02 柳锋
你学通讯?的
 

2008-01-10 20:01:49 百合—lily
我说的频率带宽和方向带宽

2008-01-10 20:01:58 百合—lily
这个文章上写错了

2008-01-10 20:02:02 百合—lily
不是

2008-01-10 20:02:04 百合—lily
我是学遥感的

2008-01-10 20:02:23 百合—lily
你看看

2008-01-10 20:02:54 百合—lily
就算咱们不管什么频带带宽,方向带宽

2008-01-10 20:03:37 百合—lily
从这个上面看thetax,thetay和F(频率)是有关系的

2008-01-10 20:03:39 百合—lily
对妈

2008-01-10 20:04:20 柳锋
我晕。thetax和 thetay 肯定是和频率有关系的
 

2008-01-10 20:04:35 百合—lily
是啊

2008-01-10 20:05:04 百合—lily
那从程序上看thetax,thetay就是Sx和Sy啊

2008-01-10 20:05:24 百合—lily
从程序上看是没有关系的,是人为给的啊

2008-01-10 20:06:32 柳锋
我还是觉得不一样。

[图片]是反应了  信号  的 变化速度(和频率一样,可以相互转化),对吧
 

2008-01-10 20:07:01 百合—lily
那个?

2008-01-10 20:07:08 百合—lily
图片看不到

2008-01-10 20:07:40 柳锋
σxσy是反应了  信号  的 变化速度(和频率一样,σxσy可以和频率相互转化),对吧
 

2008-01-10 20:07:51 百合—lily

2008-01-10 20:09:02 柳锋
等等
 

2008-01-10 20:09:12 柳锋
我似乎有点觉得相关了。
 

2008-01-10 20:09:24 柳锋
你把你下下来的没有修改的代码发给我看看。
 

2008-01-10 20:09:32 百合—lily

2008-01-10 20:10:47 百合—lily
%%%%%%%VERSION 1

%The Gabor filter is basically a Gaussian (with variances sx and sy along x and y-axes respectively)
%modulated by a complex sinusoid (with centre frequencies U and V along x and y-axes respectively)
%described by the following equation
%%
%               1                -1     x  ^    y  ^
%%% G(x,y) = ---------- * exp ([----{(----) 2+(----) 2}+2*pi*i*(Ux+Vy)])
%            2*pi*sx*sy           2    sx       sy

%% Describtion :

%% I : Input image
%% Sx & Sy : Variances along x and y-axes respectively
%% U & V : Centre frequencies  along x and y-axes respectively

%% G : The output filter as described above
%% gabout : The output filtered image

%%  Author : Ahmad poursaberi  e-mail : a.poursaberi@ece.ut.ac.ir
%%          Faulty of Engineering, Electrical&Computer Department,Tehran
%%          University,Iran,June 2004

function [G,gabout] = gaborfilter(I,Sx,Sy,U,V);

if isa(I,'double')~=1
    I = double(I);
end

for x = -fix(Sx):fix(Sx)
    for y = -fix(Sy):fix(Sy)
        G(fix(Sx)+x+1,fix(Sy)+y+1) = (1/(2*pi*Sx*Sy))*exp(-.5*((x/Sx)^2+(y/Sy)^2)+2*pi*i*(U*x+V*y));
    end
end

Imgabout = conv2(I,double(imag(G)),'same');
Regabout = conv2(I,double(real(G)),'same');

gabout = uint8(sqrt(Imgabout.*Imgabout + Regabout.*Regabout));

2008-01-10 20:10:51 百合—lily
这是一个

2008-01-10 20:11:08 百合—lily
%%%%%%%VERSION 3
%%ANOTHER DESCRIBTION OF GABOR FILTER

%The Gabor filter is basically a Gaussian (with variances sx and sy along x and y-axes respectively)
%modulated by a complex sinusoid (with centre frequencies U and V along x and y-axes respectively)
%described by the following equation
%%
%               1                -1     x  ^    y  ^
%%% Gi(x,y) = ---------- * exp ([----{(----) 2+(----) 2}])*Mi(x,y,f);
%            2*pi*sx*sy           2    sx       sy
%%% i =1,2
%%% M1(x,y,f) = cos[2*pi*f*sqrt(x^2+y^2)];
%%% M2(x,y,f) = cos[2*pi*f*(x*cos(theta) + y*sin(theta)];

%% Describtion :

%% I : Input image
%% Sx & Sy : Variances along x and y-axes respectively
%% f : The frequency of the sinusoidal function
%% theta : The orientation of Gabor filter

%% G1 & G2 : The output filters as described above
%% gabout1 & gabout2 : The output filtered images

%%  Author : Ahmad poursaberi  e-mail : a.poursaberi@ece.ut.ac.ir
%%          Faulty of Engineering, Electrical&Computer Department,Tehran
%%          University,Iran,June 2004

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)
        M1 = cos(2*pi*f*sqrt(x^2+y^2));
        M2 = cos(2*pi*f*(x*cos(theta)+y*sin(theta)));
        G1(fix(Sx)+x+1,fix(Sy)+y+1) = (1/(2*pi*Sx*Sy)) * exp(-.5*((x/Sx)^2+(y/Sy)^2))*M1;
        G2(fix(Sx)+x+1,fix(Sy)+y+1) = (1/(2*pi*Sx*Sy)) * exp(-.5*((x/Sx)^2+(y/Sy)^2))*M2;
    end
end

Imgabout1 = conv2(I,double(imag(G1)),'same');
Regabout1 = conv2(I,double(real(G1)),'same');

Imgabout2 = conv2(I,double(imag(G2)),'same');
Regabout2 = conv2(I,double(real(G2)),'same');

gabout1 = sqrt(Imgabout1.*Imgabout1 + Regabout1.*Regabout1);
gabout2 = sqrt(Imgabout2.*Imgabout2 + Regabout2.*Regabout2

2008-01-10 20:11:12 百合—lily
这有是一个

2008-01-10 20:11:30 百合—lily
%%%%%%%VERSION 2
%%ANOTHER DESCRIBTION OF GABOR FILTER

%The Gabor filter is basically a Gaussian (with variances sx and sy along x and y-axes respectively)
%modulated by a complex sinusoid (with centre frequencies U and V along x and y-axes respectively)
%described by the following equation
%%
%                            -1     x' ^     y'  ^            
%%% G(x,y,theta,f) =  exp ([----{(----) 2+(----) 2}])*cos(2*pi*f*x');
%                             2    sx'       sy'
%%% x' = x*cos(theta)+y*sin(theta);
%%% y' = y*cos(theta)-x*sin(theta);

%% Describtion :

%% I : Input image
%% Sx & Sy : Variances along x and y-axes respectively
%% f : The frequency of the sinusoidal function
%% theta : The orientation of Gabor filter

%% G : The output filter as described above
%% gabout : The output filtered image

 

%%  Author : Ahmad poursaberi  e-mail : a.poursaberi@ece.ut.ac.ir
%%          Faulty of Engineering, Electrical&Computer Department,Tehran
%%          University,Iran,June 2004

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 20:11:33 百合—lily
还有这个

2008-01-10 20:11:41 百合—lily
其实都是一样的

2008-01-10 20:11:43 百合—lily
你看看

2008-01-10 20:12:28 百合—lily
我感觉从程序上看Sx,Sy就是σxσy

2008-01-10 20:12:30 柳锋
是我理解错了。
 

2008-01-10 20:12:37 柳锋
我想反了。
 

2008-01-10 20:13:01 柳锋
程序的意图 是  通过 σx σy 来确定窗口大小
 

2008-01-10 20:13:07 百合—lily

2008-01-10 20:13:11 百合—lily
是这样的

2008-01-10 20:13:15 柳锋
而 σxσy 本身又是和 频率 f 相关的
 

2008-01-10 20:13:20 百合—lily

2008-01-10 20:13:29 柳锋
只不过,程序里面没有体现这种相关性。
 

2008-01-10 20:14:10 柳锋
而我想的是,sx,sy 确定了窗口大小;而窗口大小本来应该 是与 f 无关的。
所以我 想成了 sx,xy 只是为了确定窗口大小,而 与 f 无关。
 

2008-01-10 20:14:39 百合—lily
F和theta就是我们变化的

2008-01-10 20:14:54 百合—lily
没有体现相关性

2008-01-10 20:15:01 百合—lily
但是明明有关系啊

2008-01-10 20:15:26 柳锋
嗯。对。那窗口大小 依赖于σxσy ,而 σxσy应该通过 f 计算
 

2008-01-10 20:15:35 百合—lily
f 变了, σx,σy不也变了妈

2008-01-10 20:16:45 百合—lily
那这个程序是对呢?还是错呢

2008-01-10 20:17:05 百合—lily
如果要是编程的话,该怎么弄呢

2008-01-10 20:17:08 柳锋
我有点搞不太明白。
σx σy 是两个方向(x,y)上的方差;
而频率 f 只有一个,(cos(2*pi*f*xPrime)),只考虑在新的x方向上的变化了
 

2008-01-10 20:17:41 柳锋
百合—lily 20:15:35
f 变了, σx,σy不也变了妈
---------
我觉得应该变
 

2008-01-10 20:17:56 百合—lily
对啊

2008-01-10 20:18:04 百合—lily
我也搞不明白

2008-01-10 20:18:07 百合—lily
是怎么回事

2008-01-10 20:19:15 百合—lily
(cos(2*pi*f*xPrime)),只考虑在新的x方向上的变化了。这是只考虑了实部

2008-01-10 20:19:22 百合—lily
虚部没有考虑

2008-01-10 20:22:34 百合—lily
因为exp()=cos()+sin()i

2008-01-10 20:22:46 百合—lily
还在吗?

2008-01-10 20:25:00 柳锋
在。我在想。我似乎理解了为什么用 σxσy 来确定窗口的大小
 

2008-01-10 20:25:12 百合—lily
为什么?

2008-01-10 20:25:41 柳锋
在 高斯分布,也就是 正太分布里面,正负σ,也就是一个标准差内所包含的 面积为 整个面积的95%,对吧
 

2008-01-10 20:26:08 百合—lily
dui
 

2008-01-10 20:26:42 柳锋
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
这段其实就是一个二维高斯分布,对吧
 

2008-01-10 20:27:05 百合—lily

2008-01-10 20:27:07 柳锋
这个 高斯 窗口内 包含的面积 应该为 所有面积的 95%(还是95%*95%) 
 

2008-01-10 20:27:08 百合—lily
这个是的

2008-01-10 20:27:50 柳锋
也就是说,采取这样一个大小的 窗口 是符合要求的。其包含了95%的信息量。
 

2008-01-10 20:28:14 百合—lily
G(fix(Sx)+x+1,fix(Sy)+y+1) = exp(-.5*((xPrime/Sx)^2+(yPrime/Sy)^2))这样写的话是的

2008-01-10 20:28:32 柳锋
嗯。是啊。你看我后面有 //去掉cos(2*pi*f*xPrime); 这个的
 

2008-01-10 20:29:11 百合—lily
但是Gabor是进过复数正炫调制以后的高斯函数

2008-01-10 20:29:13 百合—lily
是的

2008-01-10 20:29:15 百合—lily
然后呢

2008-01-10 20:29:48 柳锋
确定了一个 σx σy 值得组合,就确定了一个 高斯窗口 
 

2008-01-10 20:30:06 百合—lily

2008-01-10 20:30:39 柳锋
也就是这个 σx σy 作用很明确了。
我现在疑惑的是,  那个 f,也就是频率, 是干嘛的呢?
 

2008-01-10 20:30:42 柳锋
是哪个的频率?
 

2008-01-10 20:31:39 百合—lily
如果说σx σy是对的

2008-01-10 20:31:47 柳锋
如果想一下 gabor 变换是傅立叶变换的拓展的话,那么这个 f 应该来自傅立叶变化;
那么这个 f 到底指什么呢?
 

2008-01-10 20:31:49 百合—lily
那f ?

2008-01-10 20:32:20 柳锋
就是这个
        G(fix(Sx)+x+1,fix(Sy)+y+1) = exp(-.5*((xPrime/Sx)^2+(yPrime/Sy)^2))*cos(2*pi*f*xPrime);
 2*pi*f*xPrime 里面 的 f
 

2008-01-10 20:32:27 百合—lily

2008-01-10 20:32:34 百合—lily
我知道是这个f

2008-01-10 20:32:49 百合—lily
这个f 不是我们变化的妈

2008-01-10 20:33:05 柳锋
我想探讨 一下它的意义
 

2008-01-10 20:33:25 百合—lily
变化f 和方向theta 组成 多个 gabor 滤波器啊

2008-01-10 20:33:55 百合—lily
这个就是gabor 滤波组的意思啊

2008-01-10 20:35:40 百合—lily
(x′,y′)=(xcos +ysin , xsin +ycos ) is the rotated spatial-domain rectilinear coordinate, (U,V ) defines
the position of the filter in the frequency domain with a center frequency of F= U*U+V*V and an orientation of θ =
arctan(V U) . It is usually convenient to consider filters whose modulating Gaussians have the same orientation as the
complex sin grating (θ = φ). The function g(x, y) is the 2-D Gaussian, given by
 

2008-01-10 20:35:56 百合—lily
看看这一段

2008-01-10 20:36:34 柳锋
exp ( 2 * pi * f * x)就是 对 x 信号 作 傅立叶变换
 

2008-01-10 20:37:17 柳锋
exp(-.5*((xPrime/Sx)^2+(yPrime/Sy)^2))*cos(2*pi*f*xPrime);
前面加上
exp(-.5*((xPrime/Sx)^2+(yPrime/Sy)^2))
就是在 傅立叶变换的 基函数 加上一个窗口
 

2008-01-10 20:37:31 柳锋
变换基 由 
 

2008-01-10 20:38:10 柳锋
傅立叶变换的 基函数 为 exp( j * pi * f)
gabor变换 就是在 上面的 基函数 加上一个 高斯窗口
 

2008-01-10 20:39:04 柳锋
傅立叶变换的 基函数 为 exp( j * pi * f)
在 整个时间域 都有分布
 
 

2008-01-10 20:39:06 百合—lily

2008-01-10 20:39:18 柳锋
f 就反映 了原始信号 的频率
 

2008-01-10 20:39:27 百合—lily
??

2008-01-10 20:39:35 百合—lily

2008-01-10 20:39:49 柳锋
这个频率 信息 与 gabor 窗 的 形状无关
 

2008-01-10 20:39:49 百合—lily
是这样的

2008-01-10 20:40:24 柳锋
也就是说 频率 信息f 与 gabor窗的形状(σx σy) 无 关
 

2008-01-10 20:40:37 柳锋
([:L]我又变了)
 

2008-01-10 20:41:23 百合—lily
?????????

2008-01-10 20:41:33 柳锋
我也晕了
 

2008-01-10 20:41:33 百合—lily
貌似你说的是对的

2008-01-10 20:41:49 百合—lily
可是我发给你的论文怎么解释?

2008-01-10 20:42:39 百合—lily
而且他这个提法我在最初用gabor做非监督分类的文章上也看到了

2008-01-10 20:46:13 柳锋
我也挺奇怪的。
在作傅立叶变换的时候,f 不需要指定的。
取 f = 1的时候,就能计算频率为 1 的量
依次取 f = 0,1,2,3,4,...就能得到 傅立叶变换 的值了
 

2008-01-10 20:46:17 柳锋
这里怎么需要设置了?
 

2008-01-10 20:47:13 百合—lily
怎么解释?

2008-01-10 20:50:01 百合—lily
救命啊!我都不知道怎么回事了

2008-01-10 20:57:17 柳锋
你现在在做什么呢?
 

2008-01-10 20:57:21 柳锋
就是用来提取特征麼?
 

2008-01-10 20:57:25 柳锋
才有点事
 

2008-01-10 20:57:39 百合—lily
是啊

2008-01-10 20:57:50 百合—lily
我的毕业课题就是做分割

2008-01-10 20:58:01 柳锋
你本科?
 

2008-01-10 20:58:09 百合—lily
其中有一个方法就是用gabot

2008-01-10 20:58:11 百合—lily
不是的

2008-01-10 20:58:15 百合—lily
研究生

2008-01-10 20:58:16 百合—lily

2008-01-10 20:58:18 百合—lily
怎么了

2008-01-10 20:58:26 柳锋
研二?
 

2008-01-10 20:58:29 百合—lily
是啊

2008-01-10 20:58:36 柳锋
噢,跟我一样 的。
 

2008-01-10 20:59:02 柳锋
我也提取的gabor特征。但是效果不咋的好。
 

2008-01-10 20:59:06 百合—lily
你是那个学校的

2008-01-10 20:59:09 柳锋
我就是自己设置 sx,sy,f
 

2008-01-10 20:59:14 柳锋
重庆大学,你呢?
 

2008-01-10 20:59:20 百合—lily
河海

2008-01-10 20:59:31 柳锋
然后gabor滤波后 计算均值 和标准差作为特征
 

2008-01-10 20:59:34 百合—lily
是啊

2008-01-10 20:59:40 柳锋
河海大学,南京?
 

2008-01-10 20:59:41 百合—lily
是啊

2008-01-10 21:00:18 百合—lily
我感觉应该是自己设置f 和 方向theta

2008-01-10 21:00:33 百合—lily
你人为呢

2008-01-10 21:00:51 柳锋
我这两个也是自己设置的。
 

2008-01-10 21:00:57 柳锋
都是可变量。
 

2008-01-10 21:01:10 柳锋
sx,sy也是自己设置的,不过  是不变 的
 

2008-01-10 21:01:23 百合—lily
我开始也是那样的

2008-01-10 21:01:29 百合—lily
但是后来看多了文献

2008-01-10 21:01:33 百合—lily
感觉那样不对

2008-01-10 21:03:14 柳锋
你 还是 觉得 σx σy 应该由 f 确定麼
 

2008-01-10 21:04:12 百合—lily

2008-01-10 21:04:13 百合—lily
嘿嘿

 

后来看起头晕,就没看了。挑个脑壳清醒地时候再想想。

分享到:
评论

相关推荐

    实值离散Gabor变换

    ### 实值离散Gabor变换的关键知识点 #### 1. Gabor变换概述 - **定义与背景**:Gabor变换是一种结合时间和频率信息的信号分析工具,由Dennis Gabor于1946年首次提出。它通过将信号分解成一系列时间-频率窗口内的短...

    Gabor_Gabor时频变换_gabor变换频率_gabor变换_时频_

    Gabor变换是一种重要的时频分析方法,它在信号处理领域占据着核心地位,尤其是在音频、图像和生物医学信号分析中有着广泛的应用。Gabor变换结合了时间局部性和频率分辨率,能够在时间和频率两个维度上同时对信号进行...

    Gabor变换 MATLAB程序 根据理论自己编写

    Gabor变换是一种在信号处理和图像分析领域广泛应用的数学工具,尤其在计算机视觉、模式识别和生物医学成像中有着重要地位。它结合了傅立叶变换和窗口函数的特性,能够提供局部频率和时间信息,这对于理解非平稳信号...

    Gabor变换C语言

    Gabor变换是一种在图像处理和计算机视觉领域广泛应用的数学工具,尤其在纹理分析、特征提取和生物识别等任务中有着显著的效果。它结合了傅立叶变换和局部滤波器的概念,通过使用Gabor函数(一种模拟生物视觉系统对...

    Gabor-bianhuan.rar_gabor transform_gabor变换

    Gabor变换是一种在信号处理和图像分析领域广泛应用的数学工具,尤其在计算机视觉、模式识别和生物医学成像中有着重要地位。它结合了傅里叶变换和窗口函数的特性,能够提供局部频率分析和时间-空间定位能力,使得我们...

    Fourier变换-Gabor变换-Wigner分布-小波变换实例分析.docx

    Fourier 变换、Gabor 变换、Wigner 分布、小波变换实例分析 Fourier 变换是一种常用的信号处理方法,通过对信号进行傅里叶变换,可以将时域信号转换为频域信号,从而获取信号的频率信息。Gabor 变换是一种短时...

    Gabor变换及其相关应用

    ### Gabor变换及其相关应用 #### 一、引言 Gabor变换是由D. Gabor在1946年提出的一种重要的数学工具,主要用于解决传统傅里叶变换无法有效处理的信号局部特性问题。传统的傅里叶变换能够揭示信号的整体特征,包括...

    时频分析 Gabor 变换 Matlab程序

    时频分析 Gabor 变换 Matlab程序

    Gabor变换 c++源码

    Gabor变换是一种在图像处理和计算机视觉领域广泛应用的数学工具,尤其在纹理分析、特征提取和模式识别中占据重要地位。C++作为一种强大的编程语言,结合OpenCV库,可以高效地实现Gabor变换算法。VS2010是Visual ...

    详解基于python的图像Gabor变换及特征提取

    IT武林中,有基于C++和OpenCV,或是基于matlab的Gabor图像变换与特征提取源代码,但大多招数花哨。而基于Python语言的Gabor图像变换和特征提取却很少见。本博主在实现基于Python语言的Gabor图像变换和特征提取中发现...

    Gabor.rar_Gabor时频变换_gabor变换_gabor变换时频_时频分析_时频分析 gabor

    Gabor变换,全称为Gabor滤波器或Gabor函数变换,是信号处理领域中一种重要的时频分析方法。它由Dennis Gabor在1946年提出,旨在同时在时间和频率域中对信号进行分析,从而提供更为丰富的信息。在图像处理、语音识别...

    gabor变换 gabor transformation

    gabor变换,图像处理,image process,gabor transformation

    Gabor小波变换代码 Gabor小波变换代码 Gabor小波变换代码

    Gabor小波变换代码 Gabor小波变换代码 Gabor小波变换代码 Gabor小波变换代码 Gabor小波变换代码 Gabor小波变换代码 Gabor小波变换代码 Gabor小波变换代码 Gabor小波变换代码

    matlab使用gabor变换和神经网络实现人脸识别。可用。

    在本文中,我们将深入探讨如何使用MATLAB中的Gabor变换和神经网络技术来实现人脸识别。MATLAB是一款强大的数值计算和编程环境,非常适合进行图像处理和机器学习任务,如人脸识别。 人脸识别是一项复杂的技术,旨在...

    gabor变换的应用PPT

    gabor变换的应用PPT,gabor变换的应用PPT,gabor变换的应用PPT!

    改进的Gabor变换图像纹理特征提取方法应用研究

    ### 改进的Gabor变换图像纹理特征提取方法应用研究 #### 摘要与背景 本文介绍了一种改进的Gabor小波变换方法,该方法具有近似的旋转不变性,能够有效提高图像检索的准确性。传统的Gabor变换在处理具有特定方向性的...

    Gabor小波变换

    Gabor小波变换是一种在图像处理和信号分析领域广泛应用的数学工具,它结合了傅立叶变换的全局频谱分析和短时傅立叶变换的局部时频特性。Gabor滤波器以其对自然图像的优异适应性而受到关注,尤其是在纹理分析、图像...

    openCV Gabor变换

    OpenCV Gabor变换是计算机视觉领域中的一种图像处理技术,主要应用于特征提取和纹理分析。Gabor滤波器因其在视觉感知和图像处理中的优异性能而被广泛应用,它结合了空间局部性和频率选择性,能有效地捕捉图像的边缘...

    gabor变换算法提取图像的纹理特征

    Gabor变换是一种在图像处理和计算机视觉领域广泛应用的数学工具,它能够有效地提取图像的纹理特征。这种变换结合了傅立叶变换的频域分析能力和局部滤波器的特性,使得在保持频率特性的同时,还能考虑空间位置信息,...

Global site tag (gtag.js) - Google Analytics