source: flair-dev/trunk/include/FlairVisionFilter/HoughLines.h @ 44

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

m

File size: 2.0 KB
Line 
1/*!
2 * \file HoughLines.h
3 * \brief HoughLines algorithm
4 * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
5 * \date 2015/10/07
6 * \version 4.0
7 */
8
9
10#ifndef HOUGHLINES_H
11#define HOUGHLINES_H
12
13#include <IODevice.h>
14#include <cv.h>
15
16namespace flair {
17    namespace core {
18        class cvimage;
19        class cvmatrix;
20    }
21    namespace gui {
22        class LayoutPosition;
23        class SpinBox;
24        class DoubleSpinBox;
25    }
26}
27
28namespace flair { namespace filter {
29    /*! \class HoughLines
30    *
31    * \brief HoughLines algorithm
32    *
33    * HoughLines is done using the DSP of the DM3730.
34    */
35    class HoughLines : public core::IODevice {
36        public:
37            /*!
38            * \brief Constructor
39            *
40            * Construct an OpticalFlow filter at given position. \n
41            * After calling this function, position will be deleted as it is no longer usefull. \n
42            *
43            * \param parent parent
44            * \param position position
45            * \param name name
46            */
47            HoughLines(const core::IODevice* parent,const gui::LayoutPosition* position,std::string name);
48
49            /*!
50            * \brief Destructor
51            *
52            */
53            ~HoughLines();
54
55            bool isLineDetected(void) const;
56            float GetOrientation(void) const;
57            float GetDistance(void) const;
58            core::cvmatrix *Output(void) const;
59
60        private:
61            void UpdateFrom(const core::io_data *data);
62            gui::SpinBox *fullRhoStep,*trackingRhoStep,*nbPoints;
63            gui::DoubleSpinBox *fullThetaStep,*trackingThetaStep,*trackingDeltaTheta;
64            bool isTracking,lostLine,initLine,noLine;
65            int nbLines;
66            float yawMean,prevYawMean;
67            float prevRhoMean,rhoMean;
68            float prevThetaMean,thetaMean;
69            float distance,orientation;
70            CvMat* linesStorage;
71            core::cvmatrix *output;
72    };
73} // end namespace filter
74} // end namespace flair
75#endif // HOUGHLINES_H
Note: See TracBrowser for help on using the repository browser.