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
00010
00011
00012
00013
00014
00015 namespace Impala
00016 {
00017 namespace Core
00018 {
00019 namespace Tracking
00020 {
00021
00022 class GaborFilterSet : public KernelSet
00023 {
00024 public:
00025 GaborFilterSet(double scale, double frequency, int rotations, int size) : KernelSet(size)
00026 {
00027 int i;
00028 for(i=0 ; i<rotations ; i++)
00029 {
00030 AddKernel(Array::MakeGabor(size, scale, frequency, i*(M_PI/rotations), true));
00031 AddKernel(Array::MakeGabor(size, scale, frequency, i*(M_PI/rotations), false));
00032 }
00033 }
00034 };
00035
00036 }
00037 }
00038 }
00039
00040 #endif //Impala_Core_Tracking_GaborFilter_h