请输入您要查询的百科知识:

 

词条 gabor
释义

Gabor嘉宝

有着60余年历史的Gabor公司是德国知名的鞋业制造企业,是由Gabor先生于1949年创立的家族企业,公司的总部位于巴伐利亚中部、慕尼黑附近的罗森海姆市,现在已经发展成为一个上市公司,在欧洲的其他国家还有工厂和分支机构,公司共有4300位员工,6个生产基地,每天生产能力为3.3万双鞋。 保证每一双鞋达到品质标准最高值这一理念使Gabor成为一个传统品牌,然而,传统并不能代表一切,在过去十几年中,Gabor公司引进了许多新技术和新多元的产品生产链。只有顶级的皮料和部件才能达到Gabor鞋的标准。高品质同样还要求精湛的手工技术,做一双Gabor鞋需要250个独立的组件,45种不同的材料,140多道加工工序,每双鞋在经过140多道工序后,员工还有很多机器以外的精细手工需要操作。Gabor鞋的制造专由奥地利、斯洛伐克和葡萄牙这些位于欧洲的工厂完成,有非常严格的标准和检查制度,以保证所有工厂生产的品质是一样的。

成功的理念公式数个世纪以来都没有更改。每一双Gabor鞋都遵循三个标准而设计制造:时尚、品质、舒适。将这三个要素的完美结合是Gabor品牌的标识,也是这一点使Gabor在女鞋时尚界前沿稳坐一席。

Gabor有六大产品系列

1. Trend这是一个所谓超时尚的产品系列,它紧随时代潮流,非常现代。其在整个鞋的产量中比重不大。

2. Fashion不失时尚,但不是单为最赶时髦的某一类人设计的,而是比较大众化,适合全球销售的一个产品系列。 3. Sport休闲、舒适,适于全天日常穿着。Fashion和Sport产品系列占总产量的60%。

4. Comfort这是专为成熟女性设计的系列。 5. Jolly给年轻人设计的一个系列,前卫、个性、色彩多样。

6. GaborMan男士鞋也分为几个小的系列:运动、优雅、商务。

Gabor函数

Gabor变换属于加窗傅立叶变换,Gabor函数可以在频域不同尺度、不同方向上提取相关的特征。另外Gabor函数与人眼的生物作用相仿,所以经常用作纹理识别上,并取得了较好的效果。二维Gabor函数可以表示为:

其中:

v的取值决定了Gabor滤波的波长,u的取值表示Gabor核函数的方向,K表示总的方向数。参数决定了高斯窗口的大小,这里取。程序中取4个频率(v=0, 1, ..., 3),8个方向(即K=8,u=0, 1, ... ,7),共32个Gabor核函数。不同频率不同方向的Gabor函数可通过下图表示:

图片来源:GaborFilter.html

图片来源:http://www.bmva.ac.uk/bmvc/1997/papers/033/node2.html

三、代码实现

Gabor函数是复值函数,因此在运算过程中要分别计算其实部和虚部。代码如下:

private void CalculateKernel(int Orientation, int Frequency)

{

double real, img;

for(int x = -(GaborWidth-1)/2; x<(GaborWidth-1)/2+1; x++)

for(int y = -(GaborHeight-1)/2; y<(GaborHeight-1)/2+1; y++)

{

real = KernelRealPart(x, y, Orientation, Frequency);

img = KernelImgPart(x, y, Orientation, Frequency);

KernelFFT2[(x+(GaborWidth-1)/2) + 256 * (y+(GaborHeight-1)/2)].Re = real;

KernelFFT2[(x+(GaborWidth-1)/2) + 256 * (y+(GaborHeight-1)/2)].Im = img;

}

}

private double KernelRealPart(int x, int y, int Orientation, int Frequency)

{

double U, V;

double Sigma, Kv, Qu;

double tmp1, tmp2;

U = Orientation;

V = Frequency;

Sigma = 2 * Math.PI * Math.PI;

Kv = Math.PI * Math.Exp((-(V+2)/2)*Math.Log(2, Math.E));

Qu = U * Math.PI / 8;

tmp1 = Math.Exp(-(Kv * Kv * ( x*x + y*y)/(2 * Sigma)));

tmp2 = Math.Cos(Kv * Math.Cos(Qu) * x + Kv * Math.Sin(Qu) * y) - Math.Exp(-(Sigma/2));

return tmp1 * tmp2 * Kv * Kv / Sigma;

}

private double KernelImgPart(int x, int y, int Orientation, int Frequency)

{

double U, V;

double Sigma, Kv, Qu;

double tmp1, tmp2;

U = Orientation;

V = Frequency;

Sigma = 2 * Math.PI * Math.PI;

Kv = Math.PI * Math.Exp((-(V+2)/2)*Math.Log(2, Math.E));

Qu = U * Math.PI / 8;

tmp1 = Math.Exp(-(Kv * Kv * ( x*x + y*y)/(2 * Sigma)));

tmp2 = Math.Sin(Kv * Math.Cos(Qu) * x + Kv * Math.Sin(Qu) * y) - Math.Exp(-(Sigma/2));

return tmp1 * tmp2 * Kv * Kv / Sigma;

}

有了Gabor核函数后就可以采用前文中提到的“离散二维叠加和卷积”或“快速傅立叶变换卷积”的方法求解Gabor变换,并对变换结果求均值和方差作为提取的特征。32个Gabor核函数对应32次变换可以提取64个特征(包括均值和方差)。由于整个变换过程代码比较复杂,这里仅提供测试代码供下载。该代码仅计算了一个101×101尺寸的Gabor函数变换,得到均值和方差。代码采用两种卷积计算方式,从结果中可以看出,快速傅立叶变换卷积的效率是离散二维叠加和卷积的近50倍。

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/2/25 7:45:08