00001 #ifndef Impala_Core_Tracking_GaborFilter_h
00002 #define Impala_Core_Tracking_GaborFilter_h
00003
00004 #include <vector>
00005 #include <math.h>
00006 #include "Core/Array/MakeGabor.h"
00007 #include "Core/Tracking/KernelSet.h"
00008
00009 namespace Impala
00010 {
00011 namespace Core
00012 {
00013 namespace Tracking
00014 {
00015
00021 class GaborFilterSet : public KernelSet
00022 {
00023 public:
00024 GaborFilterSet(double scale, double frequency, int rotations, int size) : KernelSet(size)
00025 {
00026 int i;
00027 for(i=0 ; i<rotations ; i++)
00028 {
00029 AddKernel(Array::MakeGabor(size, scale, frequency, i*(M_PI/rotations), true));
00030 AddKernel(Array::MakeGabor(size, scale, frequency, i*(M_PI/rotations), false));
00031 }
00032 }
00033 };
00034
00035 }
00036 }
00037 }
00038
00039 #endif //Impala_Core_Tracking_GaborFilter_h