source: flair-src/trunk/lib/FlairVisionFilter/src/OpticalFlowSpeed.h @ 338

Last change on this file since 338 was 338, checked in by Sanahuja Guillaume, 2 years ago

remove opencv dep

File size: 2.0 KB
Line 
1/*!
2 * \file OpticalFlowSpeed.h
3 * \brief Optical flow speed calculation
4 * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
5 * \date 2012/04/12
6 * \version 4.0
7 */
8
9
10#ifndef OPTICALFLOWSPEED_H
11#define OPTICALFLOWSPEED_H
12
13#include <IODevice.h>
14
15namespace flair
16{
17    namespace core
18    {
19        class Matrix;
20    }
21  namespace gui {
22    class LayoutPosition;
23  }
24}
25
26class OpticalFlowSpeed_impl;
27
28namespace flair
29{
30namespace filter
31{
32    class OpticalFlow;
33
34    /*! \class OpticalFlowSpeed
35    *
36    * \brief Optical flow speed calculation
37    *
38    * Speed is the mean of all optical flow values.
39    */
40    class OpticalFlowSpeed : public core::IODevice
41    {
42        public:
43            /*!
44            * \brief Constructor
45            *
46            * Construct OpticalFlowSpeed.
47            *
48            * \param parent parent
49            * \param name name
50            */
51            OpticalFlowSpeed(const core::IODevice* parent, const gui::LayoutPosition* position,std::string name);
52
53            /*!
54            * \brief Destructor
55            *
56            */
57            ~OpticalFlowSpeed();
58
59            /*!
60            * \brief Speed along x axis
61            *
62            */
63            float Vx(void) const;
64
65            /*!
66            * \brief Speed along y axis
67            *
68            */
69            float Vy(void) const;
70
71            /*!
72            * \brief Output matrix
73            *
74            * Matrix is of sze (2,1). \n
75            * First line is speed along x axis. \n
76            * Second line is speed along y axis. \n
77            */
78            core::Matrix *Output() const;
79
80        private:
81            /*!
82            * \brief Update using provided datas
83            *
84            * Reimplemented from IODevice.
85            *
86            * \param data data from the parent to process
87            */
88            void UpdateFrom(const core::io_data *data);
89           
90            OpticalFlowSpeed_impl *pimpl_;
91};
92
93} // end namespace filter
94} // end namespace flair
95#endif // OPTICALFLOWSPEED_H
Note: See TracBrowser for help on using the repository browser.