28 lines
946 B
C++

#include <iostream>
#include <opencv2/opencv.hpp>
#include <utils.h>
#include <vector>
using namespace cv;
using namespace std;
class Processing
{
private:
/* data */
bool checkIntersection(const std::vector<std::vector<Point>>& lines, const std::vector<Point>& outline);
public:
Processing(/* args */);
// To do:
// Binärbild
// Linien finden (HoughLinesP())
// Entscheidung über wie viele Linien und welche Art von Linien erkannt werden (abknickende Linien)
// End und Anfangspunkt analysieren und Winkel und Ausrichtung der Linie extrahieren (Abstand des untersten Punktes von der Mitte)
~Processing();
void processImage(Mat& inputPicture, int thresholdBinary, int gaussKernelSize);
void filterReflections(FrameData& frameData);
FrameData calculateLineSegments(Mat& inputPicture, const cv::Rect& roi);
void calcAngles(FrameData &data, int imageColums, int imageRows, bool turnLeft);
};