Files
autopilot/misc/rtsp_ai_player/aiengine.h
T
2024-07-27 11:29:41 +03:00

37 lines
912 B
C++

#pragma once
#include <QObject>
#include <QElapsedTimer>
#include <opencv2/core.hpp>
#include <opencv2/videoio.hpp>
#include "aienginertsplistener.h"
#include "aiengineinference.h"
#include "aienginegimbalclient.h"
class AiEngine : public QObject
{
Q_OBJECT
public:
explicit AiEngine(QString modelPath, QObject *parent = nullptr);
void start(void);
void stop(void);
public slots:
void frameReceivedSlot(cv::Mat frame);
void inferenceResultsReceivedSlot(AiEngineInferenceResult result);
signals:
void inferenceFrame(cv::Mat frame);
void inferenceFrame2(cv::Mat frame);
void inferenceFrame3(cv::Mat frame);
private:
QElapsedTimer mElapsedTimer;
uint32_t mFrameCounter = 0;
AiEngineRtspListener *mRtspListener;
AiEngineInference *mInference;
AiEngineInference *mInference2;
AiEngineInference *mInference3;
AiEngineGimbalClient *mGimbalClient;
};