2022-11-01 14:17:25 +01:00
|
|
|
#include <iostream>
|
|
|
|
#include <opencv2/opencv.hpp>
|
2022-11-10 17:09:00 +01:00
|
|
|
#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
|
|
|
|
2022-11-01 14:56:17 +01:00
|
|
|
using namespace cv;
|
2022-11-14 11:37:38 +01:00
|
|
|
using namespace std;
|
2022-11-01 14:56:17 +01:00
|
|
|
|
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();
|
2022-11-01 14:56:17 +01:00
|
|
|
|
2022-12-08 11:20:51 +01:00
|
|
|
void processImage(Mat& inputPicture, int thresholdBinary, int gaussKernelSize);
|
2022-12-07 22:22:15 +01:00
|
|
|
void filterReflections(FrameData& frameData);
|
2022-12-08 11:20:51 +01:00
|
|
|
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
|
|
|
};
|