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

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

remove opencv dep

File size: 1.9 KB
RevLine 
[122]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>
[338]14#include <Vector2D.h>
[122]15
16namespace flair {
17    namespace core {
[214]18        class Matrix;
[122]19    }
20    namespace gui {
21        class LayoutPosition;
22    }
23}
24
[338]25class HoughLines_impl;
26
[122]27namespace flair { namespace filter {
28    /*! \class HoughLines
29    *
30    * \brief HoughLines algorithm
31    *
32    * HoughLines is done using the DSP of the DM3730.
33    */
34    class HoughLines : public core::IODevice {
35        public:
36            /*!
37            * \brief Constructor
38            *
39            * Construct an OpticalFlow filter at given position. \n
40            * After calling this function, position will be deleted as it is no longer usefull. \n
41            *
42            * \param parent parent
43            * \param position position
44            * \param name name
[338]45            * \param ptRefGlobal reference point used to compute distance to the line
46            * \param thetaRefGlobal reference angle used to compute orientation in range [-pi/2,pi/2]. Default value is 0 which defines a vertical line
[122]47            */
[338]48            HoughLines(const core::IODevice* parent,const gui::LayoutPosition* position,std::string name,const core::Vector2Df *ptRefGlobal=NULL,float thetaRefGlobal=0);
[122]49
50            /*!
51            * \brief Destructor
52            *
53            */
54            ~HoughLines();
55
56            bool isLineDetected(void) const;
57            float GetOrientation(void) const;
58            float GetDistance(void) const;
[214]59            core::Matrix *Output(void) const;
[122]60
61        private:
62            void UpdateFrom(const core::io_data *data);
[338]63            class HoughLines_impl *pimpl_;
64           
65           
[122]66    };
67} // end namespace filter
68} // end namespace flair
69#endif // HOUGHLINES_H
Note: See TracBrowser for help on using the repository browser.