libalvision  1.14.5
alvision/alvisionextractor.h
00001 
00007 #ifndef ALVISIONEXTRACTOR_H
00008 #define ALVISIONEXTRACTOR_H
00009 
00010 #include <alvision/alvisiondefinitions.h>
00011 #include <alvision/alimage.h>
00012 #include <alcommon/albroker.h>
00013 #include <alextractor/alextractor.h>
00014 #include <qi/macro.hpp>
00015 
00016 namespace AL {
00017 
00018 class ALValue;
00019 class ALVisionExtractorPrivate;
00020 
00036 class ALVisionExtractor : public ALExtractor {
00037 
00038 public:
00048   ALVisionExtractor(boost::shared_ptr<ALBroker> pBroker,
00049                     const std::string& pName,
00050                     int resolution=kQVGA, int colorspace=kBGRColorSpace,
00051                     int framerate=30);
00052 
00053   virtual ~ALVisionExtractor();
00054 
00060   bool setColorSpace(const int& colorSpace);
00061 
00067   bool setFrameRate(const int& framerate);
00068 
00074   bool setResolution(const int& resolution);
00075 
00081   bool setActiveCamera(const int& cameraId);
00082 
00083 
00084   int getColorSpace();
00085 
00086   int getFrameRate();
00087 
00088   int getResolution();
00089 
00090   int getActiveCamera();
00091 
00092   bool isPaused();
00093   bool isProcessing();
00094 
00095 
00102   QI_API_DEPRECATED void setParameter(const std::string& paramName,
00103                                       const ALValue& paramValue);
00104 
00108   virtual void start() = 0;
00109 
00115   virtual void process(ALImage* img) = 0;
00116 
00121   void pause(const bool& paused);
00122 
00126   virtual void stop() = 0;
00127 
00128 
00129 private:
00130 
00131   //intentionnally undefined.
00132   ALVisionExtractor(const ALVisionExtractor& extractor);
00133   //intentionnally undefined.
00134   ALVisionExtractor& operator =(const ALVisionExtractor& extractor);
00135 
00136   void xStartDetection(const int pPeriod, const float pPrecision);
00137   void xStopDetection();
00138   void xUpdateParameters(const int pPeriod, const float pPrecision);
00139 
00140   void xRun();
00141 
00142   ALVisionExtractorPrivate* _pImpl;
00143 
00144 };
00145 
00146 } // namespace AL.
00147 
00148 #endif // ALVISIONEXTRACTOR_H
 All Classes Namespaces Files Functions Variables