Projektarbeit Line Following Robot bei Prof. Chowanetz im WS22/23
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

processing.h 946B

2 years ago
2 years ago
2 years ago
12345678910111213141516171819202122232425262728
  1. #include <iostream>
  2. #include <opencv2/opencv.hpp>
  3. #include <utils.h>
  4. #include <vector>
  5. using namespace cv;
  6. using namespace std;
  7. class Processing
  8. {
  9. private:
  10. /* data */
  11. bool checkIntersection(const std::vector<std::vector<Point>>& lines, const std::vector<Point>& outline);
  12. public:
  13. Processing(/* args */);
  14. // To do:
  15. // Binärbild
  16. // Linien finden (HoughLinesP())
  17. // Entscheidung über wie viele Linien und welche Art von Linien erkannt werden (abknickende Linien)
  18. // End und Anfangspunkt analysieren und Winkel und Ausrichtung der Linie extrahieren (Abstand des untersten Punktes von der Mitte)
  19. ~Processing();
  20. void processImage(Mat& inputPicture, int thresholdBinary, int gaussKernelSize);
  21. void filterReflections(FrameData& frameData);
  22. FrameData calculateLineSegments(Mat& inputPicture, const cv::Rect& roi);
  23. void calcAngles(FrameData &data, int imageColums, int imageRows, bool turnLeft);
  24. };