libalvision
1.14.5
|
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