#include "iclGaborOp.h" #include "iclConvolutionOp.h" #include using namespace std; namespace icl{ GaborOp::GaborOp(){} GaborOp::GaborOp(const Size &kernelSize, std::vector lambdas, std::vector thetas, std::vector psis, std::vector sigmas, std::vector gammas){ m_vecLambdas = lambdas; m_vecThetas = thetas; m_vecPsis = psis; m_vecSigmas = sigmas; m_vecGammas = gammas; m_oKernelSize = kernelSize; updateKernels(); } GaborOp::~GaborOp(){ for(unsigned int i=0;isetChannels(0); poDst->setSize(Size::null); for(unsigned int i=0;isetSize(m_vecResults[i]->getSize()); poDst->asImg()->append(m_vecResults[i]->asImg()); } } vector GaborOp::apply(const ImgBase *poSrc, const Point &p){ ICLASSERT_RETURN_VAL( poSrc && poSrc->getChannels() && poSrc->getSize() != Size::null, vector() ); vector v; Img32f resPix(Size(1,1),poSrc->getChannels()); ImgBase *resPixBase = &resPix; const ImgBase *poSrcROIPix = poSrc->shallowCopy(Rect(p,Size(1,1))); for(unsigned int i=0;i