www.gusucode.com > 图像识别 人脸识别和虹膜识别 > code7/gabor_encode.m
% 2D-Gabor编码 % 输入:imagename:图象名 % gabor:不同的gabor系数,由get_all_gaborcoef得到,Gabor的系数由mygabor产生 % Jason Wang % 2005.12.07 function code = gabor_encode(imagename,gabor); I=imread(imagename); I=double(I); [Iheight Iwidth] = size(I); filter_num = length(gabor); %gabor滤波器的数量 = 频率数(5)×方向数(4) % filtersize = 31; %规定滤波器大小 icount = 1; for k=1:filter_num %不同的gabor系数 filtersize = length(gabor{k}); %滤波器大小(直径):两种方法:1.设为固定大小:31 ;2.设为高斯窗大小,即随频率改变的 mmax = floor(Iheight/filtersize); %原图划分为mmax×nmax块 nmax = floor(Iwidth/filtersize); for m=1:mmax for n=1:nmax partI=I(1+(m-1)*filtersize:filtersize+(m-1)*filtersize,1+(n-1)*filtersize:filtersize+(n-1)*filtersize);%从原图取出一块,与gabor系数内积 product = partI.*gabor{k}; correlation = sum(sum(product)); code(icount) = correlation; icount=icount+1; end end end code = code>0;