28 lines
946 B
C
Raw Normal View History

2022-11-01 14:17:25 +01:00
#include <iostream>
#include <opencv2/opencv.hpp>
#include <utils.h>
2022-11-14 11:37:38 +01:00
#include <vector>
2022-11-01 14:17:25 +01:00
2022-12-14 12:30:54 +01:00
using namespace cv;
2022-11-14 11:37:38 +01:00
using namespace std;
2022-11-01 14:29:11 +01:00
class Processing
2022-11-01 14:17:25 +01:00
{
private:
/* data */
2022-12-09 15:29:01 +01:00
bool checkIntersection(const std::vector<std::vector<Point>>& lines, const std::vector<Point>& outline);
2022-11-01 14:17:25 +01:00
public:
2022-11-01 14:29:11 +01:00
Processing(/* args */);
2022-11-01 14:17:25 +01:00
// 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)
2022-11-01 14:29:11 +01:00
~Processing();
void processImage(Mat& inputPicture, int thresholdBinary, int gaussKernelSize);
2022-12-07 22:22:15 +01:00
void filterReflections(FrameData& frameData);
FrameData calculateLineSegments(Mat& inputPicture, const cv::Rect& roi);
2022-12-14 16:14:00 +01:00
void calcAngles(FrameData &data, int imageColums, int imageRows, bool turnLeft);
2022-11-01 14:17:25 +01:00
};