#pragma once #include #include #include #include #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; };