Files
autopilot/tmp/opi_rtsp/aiengineinference.h
T
2024-07-03 17:03:12 +03:00

50 lines
771 B
C++

#pragma once
#include <QObject>
#include <QString>
#include <QVector>
#include <opencv2/core.hpp>
class AiEngineRectangle {
public:
int left;
int top;
int right;
int bottom;
};
class AiEngineObject {
public:
AiEngineRectangle rectangle;
float propability;
int classId;
};
class AiEngineInferenceResult {
public:
cv::Mat frame;
QVector<AiEngineObject> objects;
};
class AiEngineInference : public QObject
{
Q_OBJECT
public:
explicit AiEngineInference(QString modelPath, QObject *parent = nullptr);
bool isActive(void);
protected:
QString mModelPath;
bool mActive;
public slots:
virtual void performInferenceSlot(cv::Mat frame) = 0;
signals:
void resultsReady(AiEngineInferenceResult results);
};