• 大小: 12KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-05
  • 语言: Matlab
  • 标签: gabor滤波  matlab  

资源简介

基于matlab的gabor滤波器的代码,代码较为简单,内含简单的注释

资源截图

代码片段和文件信息

%function [opts] = Create_GaborF (ipts par)
%
%
% This function aims to create the argumented Gabor feature.

%   input
%         ipts.              input data structure
%              dat           3d image data matrix each dat(::i) is an (downsampled) 
%                            image matrix.
%         par.               input parameter structure
%              ds_w          the downsample image‘s width in Gabor
%              ds_h          the downsample image‘s heigth in Gabor
%              ke_w          Gabor kernel‘s width
%              ke_h          Gabor kernel‘s heigth
%              Kmax          Gabor kernel‘s para default(pi/2)
%              f             Gabor kernel‘s para default(sqrt(2))
%              sigma         Gabor kernel‘s para default(pi or 1.5pi)
%              Gabornum      Gabor kernel‘s number
%
%  output
%        opts.              output data structure
%            gdat           Gabor feature of training data each column is
%                           the argumented gabor feature vector of a sample
%--------------------------------------------------------------------------
%                           Note(Zhen Cui): every Gabor kernel spans a
%                           vector of ds_w*ds_h and then concatenated the
%                           Gabornum thus vector.
%--------------------------------------------------------------------------
%
%  Copyright  Mike YANG PolyU Hong Kong
%  reference: LiuC.WechslerH.:Gabor Feature based Classification Using the Enhanced Fisher
%  Linear Discriminant Model for Face Recognition IEEE IP 11 (2002)467–476.
%
function [opts]    =    Create_GaborF (ipts par)

if mod(par.ke_w2)~=1 | mod(par.ke_h2)~=1
    error(‘The width and height of Gabor kernel should be odd number‘);
end

[ GaborReal GaborImg ]  =   MakeAllGaborKernal( par.ke_h par.ke_w par.Gabor_numpar.Kmax par.f par.sigma);

radius_w       =    floor(par.ke_w/2);
radius_h       =    floor(par.ke_h/2);
center_w       =    radius_w+1;
center_h       =    radius_h+1;
ker_ener       =    [];

% according the par.raT to select a suitable and accurate size of kernel window
for step  =  1: (radius_w+radius_h)/2
    ratio          =    0;
for i  =  1 :40
    temp_r1 = sum(sum(abs(GaborReal(center_h-radius_h+step:center_h+radius_h-stepcenter_w-radius_w+step:center_w+radius_w-stepi))));
    temp_r2 = sum(sum(abs(GaborReal(::i))));
    temp_i1 = sum(sum(abs(GaborImg(center_h-radius_h+step:center_h+radius_h-stepcenter_w-radius_w+step:center_w+radius_w-stepi))));
    temp_i2 = sum(sum(abs(GaborImg(::i))));
    ratio   = ratio + temp_r1/temp_r2/80 + temp_i1/temp_i2/80;
end
   ker_ener = [ker_ener ratio];
   if ratio < par.raT
      step = step - 1;
      break;
   end
end

num     =     size(ipts.dat3);

for i  =  1: num
    tic
    kel_GR  =  GaborReal(center_h-radius_h+step:center_h+radius_h-stepcenter_w-radius_w+step:center_w+rad

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3255  2011-08-20 10:55  Gabor Matlab\Create_GaborF.m

     文件        738  2011-03-03 17:23  Gabor Matlab\Gaborforfolder.m

     文件        989  2011-03-03 17:14  Gabor Matlab\Gaborsetting.m

     文件        985  2011-08-20 19:19  Gabor Matlab\Gabor_T_Fast1.m

     文件      13078  2011-08-19 19:41  Gabor Matlab\images\Crop1.bmp

     文件        782  2010-07-09 10:09  Gabor Matlab\MakeAllGaborKernal.m

     文件       1037  2010-07-08 22:16  Gabor Matlab\MakeGaborKernal.m

     文件        174  2011-08-20 20:01  Gabor Matlab\Readme.txt

     目录          0  2011-08-20 19:57  Gabor Matlab\images

     目录          0  2011-08-20 19:57  Gabor Matlab

----------- ---------  ---------- -----  ----

                21038                    10


评论

共有 条评论