116 lines
12 KiB
C
116 lines
12 KiB
C
|
|
#ifndef ANSODENGINE_H
|
||
|
|
#define ANSODENGINE_H
|
||
|
|
#define ANSODENGINE_API __declspec(dllexport)
|
||
|
|
|
||
|
|
#pragma once
|
||
|
|
#include "ANSEngineCommon.h"
|
||
|
|
#include "LabVIEWHeader/extcode.h"
|
||
|
|
|
||
|
|
extern "C" ANSODENGINE_API std::string CreateANSODHandle(ANSCENTER::ANSODBase** Handle,
|
||
|
|
const char* licenseKey,
|
||
|
|
const char* modelFilePath,
|
||
|
|
const char* modelFileZipPassword,
|
||
|
|
float detectionScoreThreshold,
|
||
|
|
float modelConfThreshold,
|
||
|
|
float modelMNSThreshold,
|
||
|
|
int autoDetectEngine,
|
||
|
|
int modelType,
|
||
|
|
int detectionType, int loadEngineOnCreation=1);
|
||
|
|
extern "C" ANSODENGINE_API std::string RunInference(ANSCENTER::ANSODBase * *Handle, unsigned char* jpeg_string, unsigned int bufferLength);
|
||
|
|
extern "C" ANSODENGINE_API std::string RunTiledInference(ANSCENTER::ANSODBase** Handle, unsigned char* jpeg_string, unsigned int bufferLength, int tiledWidth, int titledHeight, double overlap, const char* cameraId);
|
||
|
|
extern "C" ANSODENGINE_API std::string RunInferenceFromJpegString(ANSCENTER::ANSODBase** Handle, const char* jpeg_string, unsigned long jpeg_size, const char* cameraId);
|
||
|
|
extern "C" ANSODENGINE_API std::string RunTiledInferenceFromJpegString(ANSCENTER::ANSODBase** Handle, const char* jpeg_string, unsigned long jpeg_size, int tiledWidth, int titledHeight, double overlap, const char* cameraId);
|
||
|
|
extern "C" ANSODENGINE_API void RunTiledInferenceFromCV(ANSCENTER::ANSODBase** Handle, cv::Mat image, int tiledWidth, int titledHeight, double overlap, std::vector<ANSCENTER::Object>& results, const char* cameraId);
|
||
|
|
|
||
|
|
extern "C" ANSODENGINE_API std::string RunInferenceInCroppedBBoxImages(ANSCENTER::ANSODBase * *Handle, unsigned char* jpeg_string, unsigned int bufferLength, const char* cameraId, const char* strBboxes);
|
||
|
|
extern "C" ANSODENGINE_API std::string RunInferenceInCroppedPolygonImages(ANSCENTER::ANSODBase** Handle, unsigned char* jpeg_string, unsigned int bufferLength, const char* cameraId, const char* strPolygon);
|
||
|
|
extern "C" ANSODENGINE_API std::string RunInferenceBinary(ANSCENTER::ANSODBase * *Handle, unsigned char* jpeg_bytes, unsigned int width, unsigned int height);
|
||
|
|
extern "C" ANSODENGINE_API std::string RunInferenceImagePath(ANSCENTER::ANSODBase * *Handle,const char* imageFilePath);
|
||
|
|
extern "C" ANSODENGINE_API std::string OptimizeModelStr(const char* modelFilePath, const char* modelFileZipPassword, int modelType, int modelDetectionType, int fp16);
|
||
|
|
|
||
|
|
extern "C" ANSODENGINE_API std::string RunInferenceFromCV(ANSCENTER::ANSODBase** Handle, cv::Mat image);
|
||
|
|
extern "C" ANSODENGINE_API void RunDetectMovement(ANSCENTER::ANSODBase** Handle, cv::Mat image, const char* cameraId, std::vector<ANSCENTER::Object>& results);
|
||
|
|
extern "C" ANSODENGINE_API int ReleaseANSODHandle(ANSCENTER::ANSODBase **Handle);
|
||
|
|
|
||
|
|
//// For LabVIEW API
|
||
|
|
extern "C" ANSODENGINE_API int CreateANSODHandle_LV(ANSCENTER::ANSODBase * *Handle, const char* licenseKey, const char* modelFilePath, const char* modelFileZipPassword, float modelThreshold, float modelConfThreshold, float modelNMSThreshold, int autoDetectEngine,int modelType, int detectionType, int loadEngineOnCreation,LStrHandle labelMap);
|
||
|
|
extern "C" ANSODENGINE_API int RunInference_LV(ANSCENTER::ANSODBase **Handle, unsigned char* jpeg_string, unsigned int bufferLength,LStrHandle detectionResult);
|
||
|
|
extern "C" ANSODENGINE_API int RunTiledInference_LV(ANSCENTER::ANSODBase** Handle, unsigned char* jpeg_string, unsigned int bufferLength, int tiledWidth, int titledHeight, double overlap, const char* cameraId, LStrHandle detectionResult);
|
||
|
|
|
||
|
|
extern "C" ANSODENGINE_API int RunTiledInferenceFromJpegString_LV(ANSCENTER::ANSODBase** Handle, const char* jpeg_string, unsigned long jpeg_size, int tiledWidth, int titledHeight, double overlap, const char* cameraId,LStrHandle detectionResult);
|
||
|
|
extern "C" ANSODENGINE_API int RunInferenceFromJpegString_LV(ANSCENTER::ANSODBase** Handle, const char* jpeg_string, unsigned long jpeg_size, const char* cameraId,LStrHandle detectionResult);
|
||
|
|
extern "C" ANSODENGINE_API int RunInferenceBinary_LV(ANSCENTER::ANSODBase * *Handle, unsigned char* jpeg_bytes, unsigned int width, unsigned int height, LStrHandle detectionResult);
|
||
|
|
extern "C" ANSODENGINE_API int RunInferenceImagePath_LV(ANSCENTER::ANSODBase * *Handle, const char* imageFilePath, LStrHandle detectionResult);
|
||
|
|
extern "C" ANSODENGINE_API int OptimizeModel(const char* modelFilePath, const char* modelFileZipPassword,int modelType,int modelDetectionType, int fp16, LStrHandle optimizedModelFolder);
|
||
|
|
extern "C" ANSODENGINE_API int RunInferenceInCroppedBBoxImages_LV(ANSCENTER::ANSODBase * *Handle, unsigned char* jpeg_string, int32 bufferLength, const char* cameraId,const char* strBboxes, LStrHandle detectionResult);
|
||
|
|
extern "C" ANSODENGINE_API int RunInferenceInCroppedBBoxPolygonImages_LV(ANSCENTER::ANSODBase * *Handle, unsigned char* jpeg_string, int32 bufferLength, const char* cameraId,const char* strPolygon, LStrHandle detectionResult);
|
||
|
|
extern "C" ANSODENGINE_API int RunDetectMovement_LV(ANSCENTER::ANSODBase** Handle, unsigned char* jpeg_string, unsigned int bufferLength, const char* cameraId, LStrHandle detectionResult);
|
||
|
|
extern "C" ANSODENGINE_API int RunInferenceFromJpegStringWithCameraId_LV(ANSCENTER::ANSODBase** Handle, unsigned char* jpeg_string, unsigned int bufferLength, const char* cameraId, LStrHandle detectionResult);
|
||
|
|
extern "C" ANSODENGINE_API int RunInferenceComplete_LV(ANSCENTER::ANSODBase** Handle,cv::Mat** cvImage , const char* cameraId, int getJpegString, int jpegImageSize, const char* activeROIMode, LStrHandle detectionResult, LStrHandle imageStr);
|
||
|
|
|
||
|
|
extern "C" ANSODENGINE_API int RunInferenceComplete_CPP(ANSCENTER::ANSODBase** Handle, cv::Mat** cvImage, const char* cameraId, const char* activeROIMode,std::vector<ANSCENTER::Object>& detectionResult);
|
||
|
|
extern "C" ANSODENGINE_API int RunInference_CPP(ANSCENTER::ANSODBase** Handle, cv::Mat** cvImage, const char* cameraId, std::vector<ANSCENTER::Object>& detectionResult);
|
||
|
|
extern "C" ANSODENGINE_API int ShutdownPythonEngine();
|
||
|
|
extern "C" ANSODENGINE_API int ShutdownPythonEngine_CPP();
|
||
|
|
|
||
|
|
// For C# API
|
||
|
|
extern "C" __declspec(dllexport) const char* CreateANSODHandle_CS(ANSCENTER::ANSODBase** Handle, const char* licenseKey, const char* modelFilePath,
|
||
|
|
const char* modelFileZipPassword, float modelThreshold, float modelConfThreshold,
|
||
|
|
float modelNMSThreshold, int autoDetectEngine, int modelType, int detectionType, int loadEngineOnCreation);
|
||
|
|
extern "C" __declspec(dllexport) const char* RunInferenceImagePath_CS(ANSCENTER::ANSODBase** Handle, const char* imageFilePath);
|
||
|
|
extern "C" __declspec(dllexport) const char* RunInference_CS(ANSCENTER::ANSODBase** Handle, unsigned char* jpeg_string, unsigned int bufferLength);
|
||
|
|
extern "C" __declspec(dllexport) const char* RunInferenceInCroppedBBoxImages_CS(ANSCENTER::ANSODBase** Handle, unsigned char* jpeg_string, unsigned int bufferLength, const char* cameraId,const char* strBboxes);
|
||
|
|
extern "C" __declspec(dllexport) const char* RunInferenceInCroppedPolygonImages_CS(ANSCENTER::ANSODBase** Handle, unsigned char* jpeg_string, unsigned int bufferLength, const char* cameraId, const char* strPolygon);
|
||
|
|
extern "C" __declspec(dllexport) const char* RunInferenceBinary_CS(ANSCENTER::ANSODBase** Handle, unsigned char* jpeg_bytes, unsigned int width, unsigned int height);
|
||
|
|
extern "C" __declspec(dllexport) const char* OptimizeModelStr_CS(const char* modelFilePath, const char* modelFileZipPassword, int modelType, int modelDetectionType, int fp16);
|
||
|
|
|
||
|
|
// Utilities
|
||
|
|
extern "C" __declspec(dllexport) int GetEngineType();
|
||
|
|
extern "C" __declspec(dllexport) int LoadModelFromFolder(ANSCENTER::ANSODBase** Handle, const char* licenseKey,
|
||
|
|
const char* modelName,
|
||
|
|
const char* className,
|
||
|
|
float detectionScoreThreshold,
|
||
|
|
float modelConfThreshold,
|
||
|
|
float modelMNSThreshold,
|
||
|
|
int autoDetectEngine,
|
||
|
|
int modelType,
|
||
|
|
int detectionType,
|
||
|
|
int loadEngineOnCreation,
|
||
|
|
const char* modelFolder,
|
||
|
|
std::string&labelMap);
|
||
|
|
extern "C" __declspec(dllexport) int GetActiveRect(ANSCENTER::ANSODBase** Handle,cv::Mat cvImage, cv::Rect &activeWindow);
|
||
|
|
extern "C" __declspec(dllexport) int DetectMovement(ANSCENTER::ANSODBase** Handle, cv::Mat image, const char* cameraId, std::vector<ANSCENTER::Object>& results);
|
||
|
|
extern "C" __declspec(dllexport) int Optimize(ANSCENTER::ANSODBase** Handle,bool fp16);
|
||
|
|
extern "C" __declspec(dllexport) int SetODParameters(ANSCENTER::ANSODBase** Handle, const char* parameters);
|
||
|
|
extern "C" __declspec(dllexport) int GetODParameters(ANSCENTER::ANSODBase** Handle, ANSCENTER::Params ¶m);
|
||
|
|
extern "C" __declspec(dllexport) int GetConfiguredParameters(ANSCENTER::ANSODBase** Handle, LStrHandle stParam);
|
||
|
|
extern "C" __declspec(dllexport) int GetConfiguredParameters_CPP(ANSCENTER::ANSODBase** Handle, std::string& stParam);
|
||
|
|
extern "C" __declspec(dllexport) int UpdateDetectionMinScore(ANSCENTER::ANSODBase** Handle, float detectionScore);
|
||
|
|
|
||
|
|
//std::string licenseKey, ModelConfig modelConfig, std::string modelName, std::string className, const std::string& modelFolder, std::string& labelMap
|
||
|
|
extern "C" __declspec(dllexport) int SetPrompt(ANSCENTER::ANSODBase** Handle, const char* textPrompt);
|
||
|
|
extern "C" __declspec(dllexport) int SetTracker(ANSCENTER::ANSODBase** Handle,int trackerType, int enableTracker);
|
||
|
|
extern "C" __declspec(dllexport) int SetTrackerParameters(ANSCENTER::ANSODBase** Handle, const char* trackerParams);
|
||
|
|
extern "C" __declspec(dllexport) int SetStabilizationParameters(ANSCENTER::ANSODBase** Handle, const char* stabParams);
|
||
|
|
|
||
|
|
|
||
|
|
// Version 2
|
||
|
|
extern "C" ANSODENGINE_API int RunInferenceComplete_LV_V2(
|
||
|
|
uint64_t handleVal,
|
||
|
|
cv::Mat** cvImage,
|
||
|
|
const char* cameraId,
|
||
|
|
int getJpegString,
|
||
|
|
int jpegImageSize,
|
||
|
|
const char* activeROIMode,
|
||
|
|
LStrHandle detectionResult,
|
||
|
|
LStrHandle imageStr);
|
||
|
|
extern "C" ANSODENGINE_API int RunTiledInference_LV_V2(uint64_t handleVal, unsigned char* jpeg_string, unsigned int bufferLength, int tiledWidth, int titledHeight, double overlap, const char* cameraId, LStrHandle detectionResult);
|
||
|
|
extern "C" ANSODENGINE_API int RunTiledInferenceFromJpegString_LV_V2(uint64_t handleVal, const char* jpeg_string, unsigned long jpeg_size, int tiledWidth, int titledHeight, double overlap, const char* cameraId, LStrHandle detectionResult);
|
||
|
|
extern "C" ANSODENGINE_API int RunInferenceFromJpegString_LV_V2(uint64_t handleVal, const char* jpeg_string, unsigned long jpeg_size, const char* cameraId, LStrHandle detectionResult);
|
||
|
|
extern "C" ANSODENGINE_API int RunInferenceBinary_LV_V2(uint64_t handleVal, unsigned char* jpeg_bytes, unsigned int width, unsigned int height, LStrHandle detectionResult);
|
||
|
|
extern "C" ANSODENGINE_API int RunInferenceImagePath_LV_V2(uint64_t handleVal, const char* imageFilePath, LStrHandle detectionResult);
|
||
|
|
extern "C" ANSODENGINE_API int RunInferenceInCroppedBBoxImages_LV_V2(uint64_t handleVal, unsigned char* jpeg_string, int32 bufferLength, const char* cameraId, const char* strBboxes, LStrHandle detectionResult);
|
||
|
|
extern "C" ANSODENGINE_API int RunInferenceFromJpegStringWithCameraId_LV_V2(uint64_t handleVal, unsigned char* jpeg_string, unsigned int bufferLength, const char* cameraId, LStrHandle detectionResult);
|
||
|
|
extern "C" ANSODENGINE_API int RunDetectMovement_LV_V2(uint64_t handleVal, unsigned char* jpeg_string, unsigned int bufferLength, const char* cameraId, LStrHandle detectionResult);
|
||
|
|
extern "C" ANSODENGINE_API int RunInferenceInCroppedBBoxPolygonImages_LV_V2(uint64_t handleVal, unsigned char* jpeg_string, int32 bufferLength, const char* cameraId, const char* strPolygon, LStrHandle detectionResult);
|
||
|
|
#endif
|