VAT  3.0
Video Analysis Tool
ViBeBGModule.h
1 #ifndef VIBE_BG_MODULE_H
2 #define VIBE_BG_MODULE_H
3 
4 #include "ModuleInterface.h"
5 #include "ThermalColor.h"
6 #include "image_display.h"
7 #include "ReliabilityBg.h"
8 #include <QImage>
9 
10 #define FOREGROUND 255
11 #define BACKGROUND 0
12 
13 class ViBeBGModule : public ModuleInterface {
14 public:
15  ViBeBGModule(Datapool *i_data);
16  ~ViBeBGModule();
17 
18  //Set module configuration parameters
19  bool setParameters(QDomNode& config);
20 
21  //Initialization after reading parameters
22  bool init();
23 
24  //Function executed at each frame
25  bool run();
26 
27  //update parameters at runtime.
28  bool updateParameters();
29 
30  void initVibe(cv::Mat firstFrame );
31  void segmentation();
32  void updateBackground();
33  void tuneParameters();
34 
35  bool firstTime, displayFeatureMap, displayMeanSample, saveReliabilityMapImage,
36  saveFgImage, saveFeatureMapImage, usePreviusFg, saveColouredFgMethod;
37  int height, width, numSamples, minSample, minSampleForRealiability, phi, neighbourSize;
38  float radius;
39  unsigned long randSeed, min_randSeed, max_randSeed, step_randSeed;
40  uchar minScale, maxScale, *ptr_colouredFg, *ptr_fgDataImg;
41  cv::RNG randGen;
42  std::vector <cv::Mat> samples;
43  cv::Mat imgARGB32, currImgC3, reliabilityMap, featureMap,
44  foreground, meanSample, sample32F, meanSampleU;
45  QColor methodColor;
46 
47  //for tune parameters
48  int min_numSamples, max_numSamples, init_numSamples, step_numSamples, min_minSample, max_minSample,
49  init_minSample, step_minSample, min_radius, max_radius, init_radius, step_radius, min_phi, max_phi, init_phi, step_phi, min_neighbourSize, max_neighbourSize, init_neighbourSize, step_neighbourSize;
50  bool m_tuningFirst, m_tuningActivated;
51 };
52 
53 //V8(3x3) para 640x480, V24(5x5) ( para alfheim 1280 x 960)
54 // inicializar vibe primer frame
55 // clasificar usando R y minSampleForBG
56 // si phi,= 0, actualizar dependiendo de la clasificacion
57  // fondo: cambiar una muestra aleatoria por el valor del pixel actual
58  // foreground: cambiar una muestra aleatoria por una muestra del vecino V8 o V24.
59 #endif // VIBE_BG_MODULE_H
Definition: ModuleInterface.h:43
An object of this class is instantiated at main code, and this object is used by every class to push ...
Definition: Datapool.h:39
Definition: ViBeBGModule.h:13