// created: 2011/05/01 // filename: DemoOpticalFlow.h // // author: Guillaume Sanahuja // Copyright Heudiasyc UMR UTC/CNRS 7253 // // version: $Id: $ // // purpose: demo optical flow // // /*********************************************************************/ //------------ #ifndef DEMOOPTICALFLOW_H #define DEMOOPTICALFLOW_H #include namespace flair { namespace core { class cvmatrix; } namespace gui { class GroupBox; class DoubleSpinBox; } namespace filter { class OpticalFlow; class OpticalFlowSpeed; class LowPassFilter; class CvtColor; } namespace sensor { class TargetController; } } class DemoOpticalFlow : public flair::meta::UavStateMachine { public: DemoOpticalFlow(flair::sensor::TargetController *controller); ~DemoOpticalFlow(); protected: void SignalEvent(Event_t event); void ExtraCheckJoystick(void); const flair::core::AhrsData *GetReferenceOrientation(void); flair::gui::GroupBox* opticalFlowGroupBox; flair::gui::DoubleSpinBox *maxXSpeed,*maxYSpeed; flair::core::cvmatrix *opticalFlowReference; flair::filter::Pid *u_x, *u_y; flair::filter::LowPassFilter* opticalFlowSpeedFiltered; flair::filter::CvtColor* greyCameraImage; flair::core::AhrsData *customReferenceOrientation; private: flair::filter::OpticalFlow *opticalFlow; flair::filter::OpticalFlowSpeed *opticalFlowSpeed; }; #endif // DEMOOPTICALFLOW_H