30 lines
1.5 KiB
C
30 lines
1.5 KiB
C
|
|
#ifndef ANSCUSTOMDETECTOR_H
|
||
|
|
#define ANSCUSTOMDETECTOR_H
|
||
|
|
#pragma once
|
||
|
|
#include "ANSCustomCode.h"
|
||
|
|
#include "ANSEngineCommon.h"
|
||
|
|
typedef IANSCustomClass* (*CreatePluginFunc)();
|
||
|
|
namespace ANSCENTER {
|
||
|
|
class ANSENGINE_API ANSCUSTOMDETECTOR :public ANSODBase {
|
||
|
|
public:
|
||
|
|
virtual bool Initialize(std::string licenseKey, ModelConfig modelConfig, const std::string& modelZipFilePath, const std::string& modelZipPassword, std::string& labelMap) override;
|
||
|
|
virtual bool LoadModel(const std::string& modelZipFilePath, const std::string& modelZipPassword)override;
|
||
|
|
virtual bool LoadModelFromFolder(std::string licenseKey, ModelConfig modelConfig, std::string modelName, std::string className,const std::string& modelFolder, std::string& labelMap)override;
|
||
|
|
virtual bool ConfigureParameters(Params& param) override;
|
||
|
|
virtual bool SetParameters(const Params& param)override;
|
||
|
|
virtual bool OptimizeModel(bool fp16, std::string& optimizedModelFolder);
|
||
|
|
std::vector<Object> RunInference(const cv::Mat& input);
|
||
|
|
std::vector<Object> RunInference(const cv::Mat& input, const std::string& camera_id);
|
||
|
|
|
||
|
|
bool Destroy();
|
||
|
|
~ANSCUSTOMDETECTOR();
|
||
|
|
private:
|
||
|
|
std::string _modelFilePath;
|
||
|
|
std::string _modelCfgPath;
|
||
|
|
std::unique_ptr<IANSCustomClass> _customDetector;
|
||
|
|
HMODULE hMod= nullptr;
|
||
|
|
std::string FindANSCustomLibraryName(const std::string& folderPath, const std::string& keyword);
|
||
|
|
bool CreateCustomDetector();
|
||
|
|
};
|
||
|
|
}
|
||
|
|
#endif
|