00001 #ifndef Impala_Core_VideoSet_VisSemGaborStat_h
00002 #define Impala_Core_VideoSet_VisSemGaborStat_h
00003
00004 #include "Core/Feature/VisSem.h"
00005 #include "Core/VideoSet/Reporter.h"
00006
00007 namespace Impala
00008 {
00009 namespace Core
00010 {
00011 namespace VideoSet
00012 {
00013
00014
00015 class VisSemGaborStat : public Listener
00016 {
00017 public:
00018
00019 VisSemGaborStat(Reporter* reporter, CmdOptions& options)
00020 {
00021 mReporter = reporter;
00022 mFeature = new Feature::VisSem("vissemgabor", options);
00023 mFeature->InitStat();
00024 }
00025
00026 virtual void
00027 HandleDoneFile(VideoSet* vs, int fileId, Stream::RgbDataSrc* src)
00028 {
00029 mFeature->StatMinMax2All();
00030 }
00031
00032 virtual void
00033 HandleNewFrame(VideoSet* vs, int fileId, Stream::RgbDataSrc* src)
00034 {
00035 Array::Array2dVec3UInt8* im = Array::ArrayCreate<Array::Array2dVec3UInt8>
00036 (src->FrameWidth(), src->FrameHeight(), 0, 0, src->DataPtr(), true);
00037 mFeature->ImageStat(im);
00038 delete im;
00039 }
00040
00041 private:
00042
00043 Reporter* mReporter;
00044 Feature::VisSem* mFeature;
00045
00046 };
00047
00048 }
00049 }
00050 }
00051
00052 #endif