#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 }
|
1.2.12 written by Dimitri van Heesch,
© 1997-2001