garbor特征提取

天灰灰 2012-12-09 09:16:18
在网上下了下面一个gabor变换的一个程序,有些地方还不是很明白,望高手指点一二:

二维GABOR变换其实就是一个高斯函数与其直流分流与交流分量的乘积,二维Gabor核的实现方法如下:

//定义变量
float phase = (float)(or*PI/180);//角度 or为具体的滤波器方向

//二维核函数范围
x1 = (sx%2)?(-(sx-1)/2):(-sx/2);  //sx为高斯函数标准方差,这个标准方差怎么求?
x2 = (sx%2)?((sx-1)/2):((sx/2)-1);

y1 = (sy%2)?(-(sy-1)/2):(-sy/2);
y2 = (sy%2)?((sy-1)/2):((sy/2)-1);

//GABOR核函数计算
for (y = y1; y <= y2; y++)//这里的x,y的范围求出来的是平率带宽吗?还是窗口大小?
{
for (x = x1; x <= x2; x++)
{
xPrime = x*cos(phase) + y*sin(phase);
yPrime = y*cos(phase) - x*sin(phase);

gabor = (float)(1/(2*PI*sx*sy));
gabor *= (float)exp(-0.5*( pow( (double)(xPrime/sx), 2.0) + pow((double)(yPrime/sy) , 2.0) ) );

re = (float)(gabor*cos( 2*PI*freq*xPrime));//实部
im = (float)(gabor*sin( 2*PI*freq*xPrime));//虚部

}
}
后面我们把gabor的实部和虚部求出来了,如果我有一个256*96大小的图片,我该怎么跟gabor进行卷积?程序应该怎么写?
...全文
360 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
天灰灰 2013-01-22
  • 打赏
  • 举报
回复
哦,谢谢你,因为才注册这个网站不久,对它也不是很了解,请问怎么找到图像处理区间,然后在里面发帖呢?
dataxdata 2013-01-22
  • 打赏
  • 举报
回复
引用 4 楼 tujuan449684242 的回复:
哦,谢谢你,因为才注册这个网站不久,对它也不是很了解,请问怎么找到图像处理区间,然后在里面发帖呢?
VC区里面有个图像处理的小版块,到那里问效果可能更好些
dataxdata 2012-12-29
  • 打赏
  • 举报
回复
这个到图像处理区问可能会好一些,我以前接触过这些,现在好多年不用,都说不准了
天灰灰 2012-12-29
  • 打赏
  • 举报
回复
为什么没有人回答呢?
天灰灰 2012-12-09
  • 打赏
  • 举报
回复
望高手指点啊,急啊!!!!

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧