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;