source: flair-dev/trunk/include/FlairVisionFilter/OpticalFlowSpeed.h @ 50

Last change on this file since 50 was 50, checked in by Sanahuja Guillaume, 4 years ago

doc

File size: 1.9 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 cvmatrix;
20    }
21}
22
23namespace flair
24{
25namespace filter
26{
27    class OpticalFlow;
28
29    /*! \class OpticalFlowSpeed
30    *
31    * \brief Optical flow speed calculation
32    *
33    * Speed is the mean of all optical flow values divided by the delta time between images.
34    */
35    class OpticalFlowSpeed : public core::IODevice
36    {
37        public:
38            /*!
39            * \brief Constructor
40            *
41            * Construct OpticalFlowSpeed.
42            *
43            * \param parent parent
44            * \param name name
45            */
46            OpticalFlowSpeed(const core::IODevice* parent,std::string name);
47
48            /*!
49            * \brief Destructor
50            *
51            */
52            ~OpticalFlowSpeed();
53
54            /*!
55            * \brief Speed along x axis
56            *
57            */
58            float Vx(void) const;
59
60            /*!
61            * \brief Speed along y axis
62            *
63            */
64            float Vy(void) const;
65
66            /*!
67            * \brief Output matrix
68            *
69            * Matrix is of size (2,1). \n
70            * First line is speed along x axis. \n
71            * Second line is speed along y axis. \n
72            */
73            core::cvmatrix *Output() const;
74
75        private:
76            /*!
77            * \brief Update using provided datas
78            *
79            * Reimplemented from IODevice.
80            *
81            * \param data data from the parent to process
82            */
83            void UpdateFrom(const core::io_data *data);
84
85            core::cvmatrix *output;
86    };
87} // end namespace filter
88} // end namespace flair
89#endif // OPTICALFLOWSPEED_H
Note: See TracBrowser for help on using the repository browser.