62 lines
1.0 KiB
C++

#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:
float theta;
float m;
float zeroPoint;
public:
VectorOfLines();
~VectorOfLines();
float calcTheta(cv::Point x, Point y);
float calcM(float theta);
float calcZeroPoint(cv::Point x, float m);
};