#include <iostream>
#include <opencv2/opencv.hpp>
#include <utils.h>
#include <vector>

using namespace cv;
using namespace std;

class Processing
{
private:
    /* data */
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, int thresholdCanny1, int thresholdCanny2, int apertureSizeCanny);

    FrameData calculateLineSegments(const Mat& inputPicture, const cv::Rect& roi);
};