Files
ANSCustomModels/ANSCustomHelmetDetection/ANSCustomCodeHelmetDetection.h

34 lines
1.1 KiB
C++

#include "ANSLIB.h"
//#define FNS_DEBUG
class CUSTOM_API ANSCustomHMD : public IANSCustomClass
{
private:
using ANSLIBPtr = std::unique_ptr<ANSCENTER::ANSLIB, decltype(&ANSCENTER::ANSLIB::Destroy)>;
std::recursive_mutex _mutex;
int engineType{ 0 };
ANSLIBPtr _detector{ nullptr, &ANSCENTER::ANSLIB::Destroy };
ANSLIBPtr _classifier{ nullptr, &ANSCENTER::ANSLIB::Destroy };
// ----- Model config -----
int _detectorModelType;
int _detectorDetectionType;
int _classifierModelType;
int _classifierDetectionType;
std::string _classifierLabels;
bool _isInitialized{ false };
bool _readROIs{ false };
public:
bool Initialize(const std::string& modelDiretory, float detectionScoreThreshold, std::string& labelMap) override;
bool OptimizeModel(bool fp16) override;
bool ConfigureParameters(CustomParams& param) override;
std::vector<CustomObject> RunInference(const cv::Mat& input) override;
std::vector<CustomObject> RunInference(const cv::Mat& input, const std::string& camera_id) override;
bool Destroy() override;
ANSCustomHMD();
~ANSCustomHMD();
};