mask.h 1015 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #ifndef MASK_H
  2. #define MASK_H
  3. #include <QImage>
  4. #include <QString>
  5. #include <opencv2/opencv.hpp>
  6. /*
  7. * Verwaltet die Maske einer Kamera
  8. */
  9. class Mask
  10. {
  11. private:
  12. QString path; // Der Pfad zum Maskenbild
  13. QImage *mask; // Das Maskenbild
  14. public:
  15. Mask( QString p );
  16. ~Mask();
  17. // Lädt das Masken Bild
  18. void loadMask();
  19. // Gibt das Maskenbild zurück
  20. QImage *getMask();
  21. // Gibt ein Bild zurück, indem der Weiße Teil transparent ist
  22. QPixmap getDrawableImage();
  23. // Prüft, ob ein Polygon im verbotenen Bereich liegt
  24. bool isPolygonInside( QPolygon p );
  25. // Erstellt eine neue Maske
  26. void createMask( QSize s );
  27. // Speichert die Maske
  28. void save() const;
  29. // Erzeugt für ein Bild das JPEGImage bild
  30. // img: Das Bild zu dem das JPEGImage generiert werden soll
  31. // frameName: Der Name des Bildes
  32. void saveToFrameMask( cv::Mat img, QString frameName ) const;
  33. // Löscht die Maske aus dem Speicher
  34. void unloadMask();
  35. };
  36. #endif // MASK_H