You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

656 lines
30 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#pragma once
/*********版权所有(C)2024, 武汉高德红外股份有限公司***************
* 文件名称ArithStandardDll.h
* 文件标识高德光电搜索跟踪算法SDK
* 内容摘要:
* 其它说明:算法动态链接库(Arith DLL)的函数、全局变量、宏定义,统一前缀为简写"ARIDLL"
* 当前版本V2.0
* 创建作者04046wcw
* 创建日期2023-11-01
****************************************************************/
#ifndef __NEO_ARTTHSTANDARDDLL_H__
#define __NEO_ARTTHSTANDARDDLL_H__
#include "PlatformDefine.h"
#include "Arith_CommonDef.h"
#ifdef _WIN32
#define STD_TRACKER_API extern "C" __declspec(dllexport)
#else
#define STD_TRACKER_API __attribute__ ((visibility("default")))
#endif
#ifdef __cplusplus
extern "C" {
#endif
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//单个目标的结构体[兼容输入/输出,检测/跟踪]
typedef struct tagARIDLL_OBJINFO
{
//*****1.目标状态信息*****
int nFrameId; //目标当前信息所对应的帧编号
unsigned char unObjStatus; //目标搜索状态信息,更新/新增/删除
unsigned char bMainTracked; //目标是否为主跟踪目标
TrackingStatus unTrackingStatus;//目标跟踪状态
//*****2.目标管道信息*****
int nOutputID; //输出告警目标
int nInPipesID; //目标在管道数组中的编号
int nPipeLostCnt; //目标当前管道连续丢失计数
int nTotalCnt; //目标当前管道总帧数
unsigned char bInCurrFov; //目标是否在当前视场
int nAntiJamming; //抗干扰状态
//*****3.目标核心信息*****
float nX; //目标中心点图像坐标x
float nY; //目标中心点图像坐标y
float nObjW; //目标宽度
float nObjH; //目标高度
float fAz; //目标当前方位角
float fPt; //目标当前俯仰角
// 目标预测位置
float fPredAz;
float fPredPt;
//*****4.其他属性信息*****
int nObjGray; //目标灰度
int nObjMaxGray; //目标极值灰度
int nMaxPosX; //目标极大值点X
int nMaxPosY; //目标极大值点Y
int nPixCnts; //目标像素个数
unsigned char ubSizeType; //目标尺寸类型:
float fProb; //目标识别置信度
float fSNR; //目标信噪比值
float fTgEntropy; //目标信息熵值
float fBgEntropy; //目标背景信息熵
float fSaliency; //目标显著性值
//
bool nJammingSucess; //目标成功干扰
int unClsType; //目标类别
float fReIDSim; //当前目标与主目标的ReID相似度
// 如果处于跟踪状态,则输出下列值
RECT32S SA_SrBox; //小面目标跟踪波门
SizeType SA_SizeType; //尺度信息
RECT32S KCF_SrBox; //KCF波门
RECT32S TLD_SrBox; //TLD波门
FLOAT32 fConf; //跟踪置信度
ObjSrc ArithSrc; //跟踪算法来源,决策后
unsigned char byte[20]; //预留
}ARIDLL_OBJINFO;
//输入【系统参数】结构体
typedef struct tagARIDLL_INPUTPARA
{
int nTimeStamp; //当前帧采集时刻时间戳,单位毫秒
int unFrmId; //当前帧图像帧编号
short unFreq; //输入图像帧频
ServoInfo stServoInfo; //传感器伺服信息
CamInfo stCameraInfo; //相机信息
AirCraftInfo stAirCraftInfo; //载体信息
GuideInfo stGuideInfo; //外部引导信息
AIT_OUTPUT stAITrackerInfo; //AI跟踪器结果
int nServoDelatCnt; //伺服角度延迟帧数
// 其他输入
bool bImageRataSys; //像旋系统标记S731实物样机1数字样机未模拟像旋 -0
int nElevationDiff; //机载设备挂飞高程差
}ARIDLL_INPUTPARA;
//调试信息
typedef struct tagARIDLL_DEBUG_OUTPUT
{
unsigned short nDetectObjsNum;
// 管道资源
unsigned short nMaxPipeNum; //当前系统管道资源数量
unsigned short nUsePipeNum; //当前非空管道数量
float Arith_time; //算法运行耗时
unsigned int unFrmID; //算法执行的帧编号
//ARM发指令信息
unsigned char nSysMode; //外部系统状态
unsigned char nScenMode; //场景模式
unsigned char nStatus; //待命/检测/跟踪/丢失状态信息等
unsigned char nPixelType; //图像数据类型
unsigned short nWidth; //图像宽
unsigned short nHeight; //图像高
unsigned char nLockType; //1-拉框吸附 2-点选吸附 3-ID锁定 4-修正攻击点 5-解锁
unsigned char nLockID; //锁定id号
unsigned short nLockX; //锁定波门或者修改攻击点
unsigned short nLockY;
unsigned short nLockW;
unsigned short nLockH;
unsigned short nPredictX; //轨迹预测点
unsigned short nPredictY;
unsigned short nForceMemFrm; //强制记忆帧数
unsigned char unFreq; //帧频
float fServoAz; //伺服方位角
float fServoPt; //伺服俯仰角
float nFocus; //焦距
float fPixelSize; //像元尺寸
unsigned char unVideoType; //视频类型
//算法参数(公用)
unsigned short nX; //决策输出中心点X
unsigned short nY; //决策输出中心点Y
unsigned short nW; //决策输出宽度
unsigned short nH; //决策输出高度
unsigned short nRecapX; //重捕区域中心X
unsigned short nRecapY; //重捕区域中心Y
unsigned short nRecapW; //重捕区域宽度
unsigned short nRecapH; //重捕区域高度
//对地跟踪信息调试
//对地参数
unsigned char nDecisionStatus; //决策状态
unsigned char nKcfStatus; //kcf状态
unsigned char bAIDStatus; //AI识别状态
float fKCFRes; //KCF响应
float fLargeResTH; //KCF重捕阈值
float fArrKCFRes;
unsigned char nOccKCFStatus;
unsigned char nArrestKCFStatus;
short nAIDBestId;
short nAIDLostCnt;
short unContiTrackedCnt;
short nAIDJamCnt;
unsigned char nOccAIDStatus;
unsigned char nArrestAIDStatus;
unsigned short nTLDNum; //TLD聚类检测个数
unsigned short nLearnCnt; //TLD学习计数
float fMaxNNConf; //TLD检测最大响应
//对空参数
unsigned char sky_bComplexEnv; // 复杂背景标志位
unsigned char sky_bInterferenceMem; // 干扰近记忆标志位
unsigned char sky_bResetByAIDet; // 跟踪被AI重置标记
unsigned char sky_nClassSource; // 目标类别输出来源
unsigned char sky_nDecisionStatus; // 决策状态,输出来源
unsigned char sky_TrkDownRatio; // 对空跟踪降采样倍数
unsigned short sky_TrkMemFrm; // 跟踪目标进记忆帧数
unsigned short sky_nTrkCX; // 决策目标信息中心点X
unsigned short sky_nTrkCY; // 决策目标信息中心点Y
unsigned short sky_nTrkW; // 决策目标信息宽度
unsigned short sky_nTrkH; // 决策目标信息高度
unsigned short sky_nTrkPxlsCnt; // 跟踪目标像素数
unsigned short sky_fTrkConf; // 跟踪目标置信度
unsigned char sky_bGuideInFov; // 导引目标是否在视场
unsigned short sky_nGuideCX; // 导引区域中心X
unsigned short sky_nGuideCY; // 导引区域中心Y
unsigned short sky_nGuideW; // 导引区域宽度
unsigned short sky_nGuideH; // 导引区域高度
unsigned char resv[48]; //预留
}ARIDLL_DEBUG_OUTPUT;
//跟踪目标输出结构体
typedef struct tagARIDLL_OUTPUT
{
int nTimeStamp;//当前帧时间戳(透传),单位:毫秒
// 系统工作模式(透传)// by wcw04046 @ 2021/12/06
GLB_SYS_MODE nSysMode;
int nFrmNum;//处理帧计数
// 场景模式
GLB_SCEN_MODE nScenMode;
//*****工作状态*****
GLB_STATUS nStatus; //待命/检测/跟踪/丢失状态信息等
//*****目标检测*****(短时航迹点,用于用户指示)
int nAlarmObjCnts; //当前帧告警目标总个数
ARIDLL_OBJINFO stAlarmObjs[ST_OBJ_NUM]; //检测目标信息数组
//*****目标跟踪*****(长时航迹点第0个为主目标送伺服跟踪)
int nTrackObjCnts; //跟踪目标个数
ARIDLL_OBJINFO stTrackers[LT_OBJ_NUM]; //跟踪器输出数组
// AI跟踪器协同控制指令输出,用于控制端侧NPU程序
AIT_Command stAI_TkCmd;
//搜索区域(对空场景为导引区域)
RECT32S rsRecaptureRion;
//指示轨迹预测模块是否相信当前跟踪点
BBOOL bPredictJam;
//调试信息
ARIDLL_DEBUG_OUTPUT stDebugInfo;
}ARIDLL_OUTPUT;
/*************************************
* 函数名称: STD_CreatEOArithHandle()
* 功能描述: 算法句柄创建
* 创建日期: 2025/6/24
* 输出参数: 无
* 返回值: STD_TRACKER_API ArithHandle算法句柄
* 调用关系: 无
* 其它说明: 无
*************************************/
STD_TRACKER_API ArithHandle STD_CreatEOArithHandle();
/*************************************
* 函数名称: STD_CreatEOArithNamedHandle()
* 功能描述: 指定算法句柄名称的句柄创建,每个句柄创建都有自己独立的配置文件路径,避免设置重复参数,比如句柄名称
实际上也可以允许句柄名称重复,不建议这样做,因为不能起到区分作用,参数设置请参考文件
* 创建日期: 2025/8/8
* 输入参数: const char * configPath:算法创建相关配置json名称
* 输出参数:
* 返回值: STD_TRACKER_API ArithHandle:算法句柄
* 调用关系:
* 其它说明:
*************************************/
STD_TRACKER_API ArithHandle STD_CreatEOArithNamedHandle(const char* configPath);
/*************************************
* 函数名称: STD_DeleteEOArithHandle()
* 功能描述: 释放算法句柄
* 创建日期: 2025/6/24
* 输入参数: ArithHandle hArith算法句柄
* 输出参数: 无
* 返回值: STD_TRACKER_API void
* 调用关系: 无
* 其它说明: 无
*************************************/
STD_TRACKER_API void STD_DeleteEOArithHandle(ArithHandle hArith);
/*************************************
* 函数名称: ARIDLL_EOArithInit()
* 功能描述: 执行算法模块初始化,默认为对空凝视场景
* 创建日期: 2025/6/24
* 输入参数: ArithHandle hArith算法句柄
* 输入参数: int nWidth输入图像宽度
* 输入参数: int nHeight输入图像高度
* 输入参数: GD_PIXEL_FORMAT_E nPixelType:图像的像素类型
* 输出参数: 无
* 返回值: STD_TRACKER_API void
* 调用关系: 无
* 其它说明: GLB_PT_TYPE nPixelType 暂未使用的参数
*************************************/
STD_TRACKER_API void ARIDLL_EOArithInit(ArithHandle hArith, int nWidth, int nHeight, GD_PIXEL_FORMAT_E nPixelType);
/*************************************
* 函数名称: ARIDLL_EOArithInitWithMode()
* 功能描述: 执行算法模块初始化2 - 带模式的初始化,可指定系统模式和场景模式
* 创建日期: 2025/6/24
* 输入参数: ArithHandle hArith算法句柄
* 输入参数: int nWidth输入图像宽度
* 输入参数: int nHeight输入图像高度
* 输入参数: GD_PIXEL_FORMAT_E nPixelType:图像的像素类型
* 输入参数: GLB_SYS_MODE nSysMode:系统模式
* 输入参数: GLB_SCEN_MODE nScenMode场景模式
* 输出参数: 无
* 返回值: STD_TRACKER_API void
* 调用关系: 无
* 其它说明: GLB_PT_TYPE nPixelType 暂未使用的参数
*************************************/
STD_TRACKER_API void ARIDLL_EOArithInitWithMode(ArithHandle hArith, int nWidth, int nHeight, GD_PIXEL_FORMAT_E nPixelType,
GLB_SYS_MODE nSysMode, GLB_SCEN_MODE nScenMode);
/*************************************
* 函数名称: ARIDLL_CreateAITracker()
* 功能描述: 创建AI跟踪器模块
* 创建日期: 2025/6/24
* 输入参数: ArithHandle hArith算法句柄
* 输入参数: int nWidth输入图像宽度
* 输入参数: int nHeight输入图像高度
* 输入参数: const char * configPath:AI跟踪参数配置文件名称
* 输出参数: 无
* 返回值: STD_TRACKER_API bool
* 调用关系: 无
* 其它说明: 创建AI跟踪器后NeoTracker仅在切换为AI跟踪场景模式时才会使用AI跟踪
*************************************/
STD_TRACKER_API bool ARIDLL_CreateAITracker(ArithHandle hArith, int nWidth, int nHeight, const char* configPath);
/*************************************
* 函数名称: ARIDLL_RunController()
* 功能描述: 目标搜跟流程,算法主处理逻辑
* 创建日期: 2025/6/24
* 输入参数: ArithHandle hArithSrc算法句柄
* 输入参数: GD_VIDEO_FRAME_S img :输入图像
* 输入参数: ARIDLL_INPUTPARA stInputPara :输入参数
* 输入参数: ARIDLL_OUTPUT * pstOutput :输出结果
* 输出参数: 无
* 返回值: STD_TRACKER_API int :主处理逻辑状态码
* 调用关系: 无
* 其它说明: 无
*************************************/
STD_TRACKER_API int ARIDLL_RunController(ArithHandle hArithSrc, GD_VIDEO_FRAME_S img, ARIDLL_INPUTPARA stInputPara, ARIDLL_OUTPUT* pstOutput);
/*************************************
* 函数名称: ARIDLL_SearchFrameTargets()
* 功能描述: 执行单帧小面目标检测算法
* 创建日期: 2025/6/24
* 输入参数: ArithHandle hArithSrc算法句柄
* 输入参数: GD_VIDEO_FRAME_S img :输入图像
* 输出参数: 无
* 返回值: STD_TRACKER_API int :单帧小面检测算法个数
* 调用关系: 无
* 其它说明: 无
*************************************/
STD_TRACKER_API int ARIDLL_SearchFrameTargets(ArithHandle hArithSrc, GD_VIDEO_FRAME_S img);
/*************************************
* 函数名称: ARIDLL_MergeAITargets()
* 功能描述: 接收外部AI识别目标在主循环调用前调用以传入外部目标
* 创建日期: 2025/6/24
* 输入参数: ArithHandle hArithSrc算法句柄
* 输入参数: AI_Target * aiDetectArray输入AI目标检测数组
* 输入参数: int aiNum输入AI目标检测个数
* 输出参数: 无
* 返回值: STD_TRACKER_API int
* 调用关系: 无
* 其它说明: 无
*************************************/
STD_TRACKER_API int ARIDLL_MergeAITargets(ArithHandle hArithSrc, AI_Target* aiDetectArray,int aiNum);
/*************************************
* 函数名称: ARIDLL_SendReIDToTargets()
* 功能描述: 接收外部目标reID特征将特征传入到算法内部
* 创建日期: 2025/6/25
* 输入参数: ArithHandle hArithSrc算法句柄
* 输入参数: ReIDFeature * pReidFeatures ReID特征数组
* 输入参数: int ReIDNums ReID特征个数
* 输出参数: 无
* 返回值: STD_TRACKER_API int
* 调用关系: 无
* 其它说明: 无
*************************************/
//STD_TRACKER_API int ARIDLL_SendReIDToTargets(ArithHandle hArithSrc, ReIDFeature* pReidFeatures, int ReIDNums);
/*************************************
* 函数名称: ARIDLL_LockCommand()
* 功能描述: 视场内自适应锁定,智能锁定,有目标锁目标,无目标根据项目需求执行锁定方式,中心点XY一定要传宽高可选择
* + 点选吸附
* + 框选距离管道目标近距离吸附,远距离强锁框选区域
* 创建日期: 2025/6/24
* 输入参数: ArithHandle hArithSrc:算法句柄
* 输入参数: int nLockX:锁定点目标图像坐标中心点X
* 输入参数: int nLockY:锁定点目标图像坐标中心点Y
* 输入参数: int nLockW:锁定波门宽度, 目标宽度
* 输入参数: int nLockH:锁定波门高度, 目标高度
* 输出参数: 无
* 返回值: STD_TRACKER_API void
* 调用关系: 无
* 其它说明: 下发指令在下一帧转入锁定宽高送0则算法根据识别结果自动选择波门
*************************************/
STD_TRACKER_API void ARIDLL_LockCommand(ArithHandle hArithSrc, int nLockX, int nLockY, int nLockW, int nLockH);
/*************************************
* 函数名称: ARIDLL_LockCommand_DefaultSize()
* 功能描述: 框选吸附
* 创建日期: 2025/6/24
* 输入参数: ArithHandle hArithSrc:算法句柄
* 输入参数: int nLockX:锁定点目标图像坐标中心点X
* 输入参数: int nLockY:锁定点目标图像坐标中心点Y
* 输入参数: int nLockW:锁定波门宽度, 目标宽度
* 输入参数: int nLockH:锁定波门高度, 目标高度
* 输出参数: 无
* 返回值: STD_TRACKER_API void
* 调用关系: 无
* 其它说明: 无
*************************************/
STD_TRACKER_API void ARIDLL_LockCommand_DefaultSize(ArithHandle hArithSrc, int nLockX, int nLockY, int nLockW, int nLockH);
/*************************************
* 函数名称: ARIDLL_LockTargetByID()
* 功能描述: 视场内根据批号锁定,当前帧处理
* 创建日期: 2025/6/24
* 输入参数: ArithHandle hArithSrc:算法句柄
* 输入参数: int nBatchID:锁定管道批号
* 输出参数: 无
* 返回值: STD_TRACKER_API void
* 调用关系: 无
* 其它说明: 无
*************************************/
STD_TRACKER_API void ARIDLL_LockTargetByID(ArithHandle hArithSrc, int nBatchID);
/*************************************
* 函数名称: ARIDLL_GuideLockMultiCommand()
* 功能描述: 视场外引导锁定-支持批量锁定
* 创建日期: 2025/6/24
* 输入参数: ArithHandle hArithSrc算法句柄
* 输入参数: TargetGuide * guideList
* SINT32 ID; //目标批号,传递给锁定后目标(必填0为无效值外部指定跟踪目标输出批号)
UBYTE8 bIsCoLocate; //协同定位标记,直接透传到目标(非必须默认0)
Pole stTargetPole; //目标极坐标(伺服系目标方位、俯仰、目标测距)
PointBLH stTargetPos; //目标GPS坐标(大地系纬经高)
FLOAT32 fGuideAzSpeed; //实际锁定点方位角速度(非必须默认0)
FLOAT32 fGuidePtSpeed; //实际锁定点俯仰角速度(非必须默认0)
SINT32 nGuideFocus; //引导时的焦距值(必填)
SINT32 nMaxFocus; //最大焦距值(必填)
SINT32 nLockX; //锁定点当前图像坐标X(图像系X)
SINT32 nLockY; //锁定点当前图像坐标Y(图像系Y)
BBOOL bInFOV; //在视场判断(图像系目标在视场判断)
stTargetPole、stTargetPos、nLockX(nLockY,bInFOV),三选一当前建议选择stTargetPole
* 输入参数: int num:引导目标个数
* 输入参数: int nGuideAge:引导生命周期帧数衡量如50HZ平台1s填50外部设定
* 输出参数: 无
* 返回值: STD_TRACKER_API void
* 调用关系: 无
* 其它说明: 对空引导在焦距没有拉满的情况下,不要出现是小目标的情况
*************************************/
STD_TRACKER_API void ARIDLL_GuideLockMultiCommand(ArithHandle hArithSrc, TargetGuide* guideList, int num, int nGuideAge);
/*************************************
* 函数名称: ARIDLL_unLockCommand()
* 功能描述: 解锁
* 创建日期: 2025/6/24
* 输入参数: ArithHandle hArithSrc算法句柄
* 输出参数: 无
* 返回值: STD_TRACKER_API void
* 调用关系: 无
* 其它说明: 无
*************************************/
STD_TRACKER_API void ARIDLL_unLockCommand(ArithHandle hArithSrc);
/*************************************
* 函数名称: ARIDLL_AdjustTrackRect()
* 功能描述: 微调对地主跟踪器跟踪框
* 创建日期: 2025/6/24
* 输入参数: ArithHandle hArithSrc算法句柄
* 输入参数: int dx:X 方向的偏移量,向左为负;向右为正
* 输入参数: int dy:Y 方向的偏移量,向上为负;向下为正
* 输入参数: int dw :目标宽度扩大,缩减大小
* 输入参数: int dh :目标高度扩大,缩减大小
* 输出参数: 无
* 返回值: STD_TRACKER_API void
* 调用关系: 无
* 其它说明: 无
*************************************/
STD_TRACKER_API void ARIDLL_AdjustTrackRect(ArithHandle hArithSrc,int dx,int dy,int dw,int dh);
/*************************************
* 函数名称: ARIDLL_ReadSetParamFile()
* 功能描述: 读取序列化参数:从文件
* 创建日期: 2025/6/24
* 输入参数: ArithHandle hArithSrc算法句柄
* 输入参数: const char * configFilePath保存了算法参数的文件名
* 输出参数: 无
* 返回值: STD_TRACKER_API bool
* 调用关系: 无
* 其它说明: 无
*************************************/
STD_TRACKER_API bool ARIDLL_ReadSetParamFile(ArithHandle hArithSrc, const char* configFilePath);
/*************************************
* 函数名称: ARIDLL_ReadSetParamStream()
* 功能描述: 读取序列化参数从buffer
* 创建日期: 2025/6/24
* 输入参数: ArithHandle hArithSrc:算法句柄
* 输入参数: const char * configsstream:保存了算法参数的文件流
* 输出参数: 无
* 返回值: STD_TRACKER_API bool : 设置成功标记
* 调用关系: 无
* 其它说明: 无
*************************************/
STD_TRACKER_API bool ARIDLL_ReadSetParamStream(ArithHandle hArithSrc,const char* configsstream);
/*************************************
* 函数名称: ARIDLL_SetSysMode()
* 功能描述: 设置外部系统工作模式
* 创建日期: 2025/6/24
* 输入参数: ArithHandle hArithSrc:算法句柄
* 输入参数: GLB_SYS_MODE nSysMode:系统模式
* 输出参数: 无
* 返回值: STD_TRACKER_API void
* 调用关系: 无
* 其它说明: 无
*************************************/
STD_TRACKER_API void ARIDLL_SetSysMode(ArithHandle hArithSrc, GLB_SYS_MODE nSysMode);
/*************************************
* 函数名称: ARIDLL_SetScenMode()
* 功能描述: 设置工作场景,对空,对地,对海等
* 创建日期: 2025/6/24
* 输入参数: ArithHandle hArithSrc:算法句柄
* 输入参数: GLB_SCEN_MODE nScenMode:工作场景
* 输出参数: 无
* 返回值: STD_TRACKER_API void
* 调用关系: 无
* 其它说明: 无
*************************************/
STD_TRACKER_API void ARIDLL_SetScenMode(ArithHandle hArithSrc, GLB_SCEN_MODE nScenMode);
/*************************************
* 函数名称: ARIDLL_SetForceMemTrack()
* 功能描述: 设置强制记忆跟踪
* 创建日期: 2025/6/24
* 输入参数: ArithHandle hArithSrc:算法句柄
* 输入参数: int nMemCnt:强制进记忆帧数,超出强制记忆帧数则退出记忆
* 输出参数: 无
* 返回值: STD_TRACKER_API void
* 调用关系: 无
* 其它说明: 无
*************************************/
STD_TRACKER_API void ARIDLL_SetForceMemTrack(ArithHandle hArithSrc, int nMemCnt);
/*************************************
* 函数名称: ARIDLL_SetSkyLineCaliPoints()
* 功能描述: 接收外部传入的天地线标定点最多支持360个点
* 创建日期: 2025/6/24
* 输入参数: ArithHandle hArithSrc:算法句柄
* 输入参数: ANGLE32F * SkyLinePoints:天地线标定点数组首地址
* 输入参数: int N:天地线标定点个数最多360个
* 输出参数: 无
* 返回值: STD_TRACKER_API void
* 调用关系: 无
* 其它说明: 无
*************************************/
STD_TRACKER_API void ARIDLL_SetSkyLineCaliPoints(ArithHandle hArithSrc, ANGLE32F* SkyLinePoints, int N);
/*************************************
* 函数名称: ARIDLL_ExportParamFile()
* 功能描述: 输出算法配置文件
* 创建日期: 2025/6/24
* 输入参数: ArithHandle hArithSrc:算法句柄
* 输入参数: const char * configFilePath:输出算法配置的文件名
* 输出参数: 无
* 返回值: STD_TRACKER_API void
* 调用关系: 无
* 其它说明: 无
*************************************/
STD_TRACKER_API void ARIDLL_ExportParamFile(ArithHandle hArithSrc, const char* configFilePath);
/*************************************
* 函数名称: ARIDLL_ExportOSDJson()
* 功能描述: 输出算法调试json字符串流算法OSD叠加功能
* 创建日期: 2025/6/24
* 输入参数: ArithHandle hArithSrc:算法句柄
* 输入参数: char * Buffer:接收OSD流的缓冲区
* 输入参数: int bufferSize:接收OSD流的缓冲区的大小
* 输出参数: 无
* 返回值: STD_TRACKER_API int成功返回0
* 调用关系: 无
* 其它说明: 无
*************************************/
STD_TRACKER_API int ARIDLL_ExportOSDJson(ArithHandle hArithSrc, char* Buffer, int bufferSize);
/*************************************
* 函数名称: ARIDLL_SetSOTRect()
* 功能描述: 按照固定大小调整波门
* 创建日期: 2025/6/24
* 输入参数: ArithHandle hArithSrc
* 输入参数: int objX:新的锁定X中心
* 输入参数: int objY:新的锁定Y中心
* 输入参数: int objW:新的锁定目标宽度
* 输入参数: int objH:新的锁定目标高度
* 输出参数: 无
* 返回值: STD_TRACKER_API void
* 调用关系: 无
* 其它说明: 无
*************************************/
STD_TRACKER_API void ARIDLL_SetSOTRect(ArithHandle hArithSrc, int objX, int objY, int objW, int objH);
/*************************************
* 函数名称: ARIDLL_SetPredictInfo()
* 功能描述: 外部预测的主跟踪位置点
* 创建日期: 2025/7/7
* 输入参数: ArithHandle hArithSrc:算法句柄
* 输入参数: int X1:当前帧预测x位置
* 输入参数: int Y1:当前帧预测y位置
* 输入参数: int X2:8s后预测的x位置
* 输入参数: int Y2:8s后预测的y位置
* 输出参数: 无
* 返回值: STD_TRACKER_API void
* 调用关系: 无
* 其它说明: 无
*************************************/
STD_TRACKER_API void ARIDLL_SetPredictInfo(ArithHandle hArithSrc, int X1, int Y1, int X2, int Y2);
#ifdef __cplusplus
}
#endif
#endif