1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- #ifndef ANNOTATIONXML_H
- #define ANNOTATIONXML_H
- #include <QString>
- #include <QRect>
- #include <QLinkedList>
- #include <QPolygon>
- #include "frame.h"
- #include "sequenz.h"
- #include <QLabel>
- #include <QFileInfo>
- #include <QProgressDialog>
- /*
- * Diese Klasse lädt die annotierten Bildsequenzen
- */
- class AnnotationLoader
- {
- private:
- Sequenz *sequenz; // Enthält die geladene Sequenz
- QString error; // Enthält eine Fehlermeldung, falls beim laden ein Fehler
- // aufgetreten ist
- public:
- // Lädt eine Bildsequenz
- // directory: Der Pfad zum Ordner, der die Bildsequenz enthält
- // status: Im Verlauf des Ladens wird der Statustext in diesem Label
- // gesetzt
- AnnotationLoader(QString directory,
- QLabel *status);
- ~AnnotationLoader();
- // Gibt die geladene Sequenz zurück
- // 0 falls beim Laden ein Fehler aufgetreten ist
- Sequenz* getSequenz();
- // Gibt eine Fehlermeldung zurück, falls beim Laden ein Fehler aufgetreten
- // ist
- QString getErrorMessage();
- };
- /*
- * Diese Klasse erstellt eine neue Bildsequenz aus einem Ordner mit Bildern,
- * oder einer csv Datei
- */
- class AnnotationCreator
- {
- private:
- Sequenz *sequenz;
- int numFrames;
- // Zählt alle Bilder in einem Ordner
- // f: die Informationen zu dem Ordner
- int getImageCount(QFileInfo f);
- // Erstellt Annotationen zu allen Bildern in einem Ordner
- // file: Die Information zur Datei, zu der Annotationen erstellt werden
- // sollen
- // index: Der Index des Bildes
- // kamera: Der Name der aktuellen Kamera
- // targetDir: Der Pfad zum Ziel Ordner
- // nLen: Die maximale Länge des Namens
- // status: Ein Zeiger auf den Status Text
- // offset: Der Index des sersten Bildes der Sequenz
- // limit: Die Anzahl der Bilder in der Sequenz
- // progress: Ein Dialog mit einer Fortschrittsleiste
- // kamId: Die Id der momentanen Kamera
- void createAnnotationFor(QFileInfo file,
- int & index,
- QString kamera,
- QString targetDir,
- int nLen,
- QLabel *status,
- int & offset,
- int & limit,
- QProgressDialog& progress,
- int & kamId);
- public:
- // Erstellt eine neue Sequenz und Lädt diese
- // directory: Der Pfad zu dem Ordner, welche die Bilder der neuen Sequenz
- // enthält
- // status: Im Verlauf des Erstellens wird der Statustext in diesem Label
- // gesetzt
- AnnotationCreator(QString directory,
- QLabel *status);
- ~AnnotationCreator();
- // Gibt die geladene neu erstellte Sequenz zurück
- // 0 falls beim Erstellen oder beim Laden ein Fehler aufgetreten ist
- Sequenz* getSequenz();
- };
- #endif // ANNOTATIONXML_H
|