|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- #pragma once
-
- #include <opencv2/opencv.hpp>
-
- using namespace cv;
- using namespace std;
-
-
- class LFRPoint
- {
- private:
- /* data */
- public:
- double x, y;
- LFRPoint(/* args */);
- LFRPoint(double x, double y);
- ~LFRPoint();
-
- LFRPoint operator-(const LFRPoint& pt){return LFRPoint(x-pt.x, y-pt.y);}
- LFRPoint operator+(const LFRPoint& pt){return LFRPoint(x+pt.x, y+pt.y);}
- };
-
- class LFRVector : public LFRPoint
- {
- private:
- /* data */
- public:
- LFRVector(/* args */);
- LFRVector(double x, double y);
- LFRVector(const LFRPoint& pt);
- ~LFRVector();
-
- };
-
- class LFRLine
- {
- private:
- /* data */
-
- public:
- LFRPoint start;
- LFRVector dir;
-
- LFRLine(/* args */);
- LFRLine(LFRPoint start, LFRVector dir);
- LFRLine(LFRPoint start, LFRPoint end);
- ~LFRLine();
- };
-
- class VectorOfLines{
- private:
- public:
- Point startPoint;
- float gradient;
- float zeroPoint;
- VectorOfLines();
- ~VectorOfLines();
- static double calcGradient(Point x, Point y);
- float calcZeroPoint(cv::Point x, float m);
- static double calcDistance(Point p0, Point p1);
- vector<Vec4i> findMiddleLine(vector<Vec4i> &lines);
-
- };
-
- class FrameData
- {
- public:
- std::vector<std::vector<cv::Point>> contours;
- std::vector<cv::Rect> boundingBoxes;
- std::vector<cv::Point> leftEdges;
- std::vector<cv::Point> middlePoints;
-
- FrameData(): contours(), boundingBoxes(), leftEdges(), middlePoints() {}
- };
|