#include "HxImageRep.h"
Go to the source code of this file.
Functions | |
HxImageRep L_HXIMAGEREP | HxRecGabor (HxImageRep im, double s, double omega0, double theta) |
Recursive Gabor. More... |
|
Recursive Gabor.
00026 { 00027 // convert image to complex if necessary 00028 if(im.signature() != HXIMAGESIG2DCOMPLEX) 00029 im = HxImageAsComplex(im); 00030 00031 // calculate the filter coefficients, and border values 00032 HxComplex leftBorderVal, rightBorderVal, topBorderVal, bottomBorderVal ; 00033 00034 HxGaborIIRImgGtor gx(s, omega0*cos(theta), leftBorderVal, rightBorderVal); 00035 00036 HxGaborIIRImgGtor gy(s, omega0*sin(theta), topBorderVal, bottomBorderVal ); 00037 00038 HxImageRep fx = HxImageFactory::instance().fromGenerator(HXIMAGESIG2DCOMPLEX, &gx); 00039 HxImageRep fy = HxImageFactory::instance().fromGenerator(HXIMAGESIG2DCOMPLEX, &gy); 00040 00041 // add tags for correct border handling 00042 HxTagList tags ; 00043 HxAddTag(tags,"borderType",HxBorderType(HXBORDERPROPAGATENORMALIZED)); 00044 HxAddTag(tags,"LeftBorderValue",HxValue(leftBorderVal)); 00045 HxAddTag(tags,"RightBorderValue",HxValue(rightBorderVal)); 00046 HxAddTag(tags,"TopBorderValue",HxValue(topBorderVal)); 00047 HxAddTag(tags,"BottomBorderValue",HxValue(bottomBorderVal)); 00048 00049 HxImageRep res = im.recGenConv2dSep(fx, fy, "mul", "addAssign", 00050 HxImageRep::ARITH_PREC,tags); 00051 return res; 00052 } |