libalvision  1.14
 All Classes Namespaces Files Functions Variables Macros Pages
alvisionextractor.h
1 
7 #ifndef ALVISIONEXTRACTOR_H
8 #define ALVISIONEXTRACTOR_H
9 
11 #include <alvision/alimage.h>
12 #include <alcommon/albroker.h>
14 #include <qi/macro.hpp>
15 
16 namespace AL {
17 
18 class ALValue;
19 class ALVisionExtractorPrivate;
20 
37 
38 public:
48  ALVisionExtractor(boost::shared_ptr<ALBroker> pBroker,
49  const std::string& pName,
50  int resolution=kQVGA, int colorspace=kBGRColorSpace,
51  int framerate=30);
52 
53  virtual ~ALVisionExtractor();
54 
60  bool setColorSpace(const int& colorSpace);
61 
67  bool setFrameRate(const int& framerate);
68 
74  bool setResolution(const int& resolution);
75 
81  bool setActiveCamera(const int& cameraId);
82 
83 
84  int getColorSpace();
85 
86  int getFrameRate();
87 
88  int getResolution();
89 
90  int getActiveCamera();
91 
92  bool isPaused();
93  bool isProcessing();
94 
95 
102  QI_API_DEPRECATED void setParameter(const std::string& paramName,
103  const ALValue& paramValue);
104 
108  virtual void start() = 0;
109 
115  virtual void process(ALImage* img) = 0;
116 
121  void pause(const bool& paused);
122 
126  virtual void stop() = 0;
127 
128 
129 private:
130 
131  //intentionnally undefined.
132  ALVisionExtractor(const ALVisionExtractor& extractor);
133  //intentionnally undefined.
134  ALVisionExtractor& operator =(const ALVisionExtractor& extractor);
135 
136  void xStartDetection(const int pPeriod, const float pPrecision);
137  void xStopDetection();
138  void xUpdateParameters(const int pPeriod, const float pPrecision);
139 
140  void xRun();
141 
142  ALVisionExtractorPrivate* _pImpl;
143 
144 };
145 
146 } // namespace AL.
147 
148 #endif // ALVISIONEXTRACTOR_H