#ifndef _YOLOV8_INFERENCE_H_
#define _YOLOV8_INFERENCE_H_

#include "AppCommon.h"
#include "inference.h"

class YoloV8Inference: public Inference
{
public:
    YoloV8Inference();
    ~YoloV8Inference();

    int YoloV8InferenceInit(YoloV5ModelInfo* pYoloV5ModelInfo, const std::string& strModelName, const std::string& strEngineName);
    int YoloV8InferenceDeinit(void);
//    int YoloV8InferenceModel(cv::Mat& frame, std::vector<stDetection>& res);
    int YoloV8InferenceModelCommon(cv::Mat& frame, float& fResizeRatio);
    int YoloV8InferenceModelGetType(cv::Mat& frame, float* fResult, int nsize);

private:
    YoloV5ModelInfo*  pYoloV5ModelInfo_ = nullptr;
    float *pfTransposeData_ = nullptr;
};

#endif  // END OF _YOLOV8_CLERAITY_INFERENCE_H_
