|
|
|
|
|
#pragma once
|
|
|
|
|
|
/*********版权所有(C)2024, 武汉高德红外股份有限公司***************
|
|
|
|
|
|
* 文件名称:ArithStandardDll.h
|
|
|
|
|
|
* 文件标识:高德光电搜索跟踪算法SDK
|
|
|
|
|
|
* 内容摘要:
|
|
|
|
|
|
* 其它说明:算法动态链接库(Arith DLL)的函数、全局变量、宏定义,统一前缀为简写"ARIDLL"
|
|
|
|
|
|
* 当前版本:V2.0
|
|
|
|
|
|
* 创建作者:04046wcw
|
|
|
|
|
|
* 创建日期:2023-11-01
|
|
|
|
|
|
****************************************************************/
|
|
|
|
|
|
#ifndef __NEO_ARTTHSTANDARDDLL_H__
|
|
|
|
|
|
#define __NEO_ARTTHSTANDARDDLL_H__
|
|
|
|
|
|
|
|
|
|
|
|
//AI识别库接口文件
|
|
|
|
|
|
#include "detection_type_api.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; //目标类别
|
|
|
|
|
|
|
|
|
|
|
|
// 如果处于跟踪状态,则输出下列值
|
|
|
|
|
|
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; //外部引导信息
|
|
|
|
|
|
|
|
|
|
|
|
// AI跟踪器结果
|
|
|
|
|
|
AIT_OUTPUT stAITrackerInfo;
|
|
|
|
|
|
|
|
|
|
|
|
// 其他输入
|
|
|
|
|
|
int parallelFlg; //平台优化使用标记,勿删
|
|
|
|
|
|
bool bImageRataSys; //像旋系统标记,S731实物样机1,数字样机未模拟像旋 -0
|
|
|
|
|
|
int nElevationDiff; //机载设备挂飞高程差
|
|
|
|
|
|
|
|
|
|
|
|
}ARIDLL_INPUTPARA;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//跟踪目标输出结构体
|
|
|
|
|
|
typedef struct tagARIDLL_OUTPUT
|
|
|
|
|
|
{
|
|
|
|
|
|
int nTimeStamp;//当前帧时间戳(透传),单位:毫秒
|
|
|
|
|
|
|
|
|
|
|
|
// 系统工作模式(透传)// by wcw04046 @ 2021/12/06
|
|
|
|
|
|
int nSysMode;
|
|
|
|
|
|
int nFrmNum;//处理帧计数
|
|
|
|
|
|
|
|
|
|
|
|
//*****工作状态*****
|
|
|
|
|
|
int nStatus; //待命/检测/跟踪/丢失状态信息等//3315对外输出状态--0--未知状态 1--待命状态 2--目标搜索 3--单目标跟踪 9--多目标跟踪 11--自动截获 12--半自动截获
|
|
|
|
|
|
|
|
|
|
|
|
//*****目标检测*****(短时航迹点,用于用户指示)
|
|
|
|
|
|
int nAlarmObjCnts; //当前帧告警目标总个数
|
|
|
|
|
|
ARIDLL_OBJINFO stAlarmObjs[ST_OBJ_NUM]; //检测目标信息数组
|
|
|
|
|
|
|
|
|
|
|
|
//*****目标跟踪*****(长时航迹点,第0个为主目标送伺服跟踪)
|
|
|
|
|
|
int nTrackObjCnts; //跟踪目标个数
|
|
|
|
|
|
ARIDLL_OBJINFO stTrackers[LT_OBJ_NUM]; //跟踪器输出数组
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// AI跟踪器协同控制指令输出,用于控制端侧NPU程序
|
|
|
|
|
|
AIT_Command stAI_TkCmd;
|
|
|
|
|
|
|
|
|
|
|
|
CENTERRECT CaptureBox; //截获波门
|
|
|
|
|
|
}ARIDLL_OUTPUT;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**********************************************************
|
|
|
|
|
|
* 函数名称:STD_CreatEOArithHandle()
|
|
|
|
|
|
* 功能描述:创建算法句柄
|
|
|
|
|
|
* 输入参数:
|
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
|
* 返 回 值:无
|
|
|
|
|
|
* 调用关系:无
|
|
|
|
|
|
* 其它说明:无
|
|
|
|
|
|
**********************************************************/
|
|
|
|
|
|
STD_TRACKER_API ArithHandle STD_CreatEOArithHandle();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**********************************************************
|
|
|
|
|
|
* 函数名称:STD_DeleteEOArithHandle()
|
|
|
|
|
|
* 功能描述:释放算法句柄
|
|
|
|
|
|
* 输入参数:
|
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
|
* 返 回 值:无
|
|
|
|
|
|
* 调用关系:无
|
|
|
|
|
|
* 其它说明:无
|
|
|
|
|
|
**********************************************************/
|
|
|
|
|
|
STD_TRACKER_API void STD_DeleteEOArithHandle(ArithHandle hArith);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**********************************************************
|
|
|
|
|
|
* 函数名称:ARIDLL_EOArithInit()
|
|
|
|
|
|
* 功能描述:执行算法模块初始化
|
|
|
|
|
|
* 输入参数:
|
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
|
* 返 回 值:无
|
|
|
|
|
|
* 调用关系:无
|
|
|
|
|
|
* 其它说明:GLB_PT_TYPE nPixelType 暂未使用的参数
|
|
|
|
|
|
**********************************************************/
|
|
|
|
|
|
STD_TRACKER_API void ARIDLL_EOArithInit(ArithHandle hArith,int nWidth, int nHeight, GD_PIXEL_FORMAT_E nPixelType);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**********************************************************
|
|
|
|
|
|
* 函数名称:ARIDLL_EOArithInit()
|
|
|
|
|
|
* 功能描述:执行算法模块初始化2 - 带模式的初始化
|
|
|
|
|
|
* 输入参数:
|
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
|
* 返 回 值:无
|
|
|
|
|
|
* 调用关系:无
|
|
|
|
|
|
* 其它说明: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_RunController()
|
|
|
|
|
|
* 功能描述:目标搜跟流程
|
|
|
|
|
|
* 输入参数:
|
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
|
* 返 回 值:无
|
|
|
|
|
|
* 调用关系:无
|
|
|
|
|
|
* 其它说明:无
|
|
|
|
|
|
**********************************************************/
|
|
|
|
|
|
STD_TRACKER_API int ARIDLL_RunController(ArithHandle hArithSrc, GD_VIDEO_FRAME_S img, ARIDLL_INPUTPARA stInputPara, ARIDLL_OUTPUT* pstOutput);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//**********************************************************
|
|
|
|
|
|
//* 函数名称:ARIDLL_SearchFrameTargets()
|
|
|
|
|
|
//* 功能描述:执行单帧目标检测算法
|
|
|
|
|
|
//* 输入参数:
|
|
|
|
|
|
//* 输出参数:无
|
|
|
|
|
|
//* 返 回 值:无
|
|
|
|
|
|
//* 调用关系:无
|
|
|
|
|
|
//* 其它说明:无
|
|
|
|
|
|
//**********************************************************/
|
|
|
|
|
|
STD_TRACKER_API int ARIDLL_SearchFrameTargets(ArithHandle hArithSrc, GD_VIDEO_FRAME_S img);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//**********************************************************
|
|
|
|
|
|
//* 函数名称:ARIDLL_SearchFrameTargets()
|
|
|
|
|
|
//* 功能描述:接收外部AI识别目标,在主循环调用前调用以传入外部目标
|
|
|
|
|
|
//* 输入参数:
|
|
|
|
|
|
//* 输出参数:无
|
|
|
|
|
|
//* 返 回 值:无
|
|
|
|
|
|
//* 调用关系:无
|
|
|
|
|
|
//* 其它说明:无
|
|
|
|
|
|
//**********************************************************/
|
|
|
|
|
|
STD_TRACKER_API int ARIDLL_MergeAITargets(ArithHandle hArithSrc, AIGO::objinfo* aiDetectArray,int aiNum);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**********************************************************
|
|
|
|
|
|
* 函数名称:ARIDLL_LockCommand()
|
|
|
|
|
|
* 功能描述:视场内自适应锁定,智能锁定,有目标锁目标,无目标根据项目需求执行锁定方式
|
|
|
|
|
|
* 输入参数:
|
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
|
* 返 回 值:无
|
|
|
|
|
|
* 调用关系:无
|
|
|
|
|
|
* 其它说明:
|
|
|
|
|
|
**********************************************************/
|
|
|
|
|
|
STD_TRACKER_API void ARIDLL_LockCommand(ArithHandle hArithSrc, int nLockX,int nLockY,int nLockW,int nLockH);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**********************************************************
|
|
|
|
|
|
* 函数名称:ARIDLL_LockTarget()
|
|
|
|
|
|
* 功能描述:视场内自适应锁定,当前帧完成跟踪器初始化并返回锁定的目标
|
|
|
|
|
|
* 输入参数:
|
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
|
* 返 回 值:无
|
|
|
|
|
|
* 调用关系:无
|
|
|
|
|
|
* 其它说明:
|
|
|
|
|
|
**********************************************************/
|
|
|
|
|
|
STD_TRACKER_API ARIDLL_OBJINFO ARIDLL_LockTarget(ArithHandle hArithSrc, GD_VIDEO_FRAME_S img, int nLockX, int nLockY, int nLockW, int nLockH);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**********************************************************
|
|
|
|
|
|
* 函数名称:ARIDLL_LockCommandByID()
|
|
|
|
|
|
* 功能描述:视场内根据批号锁定,当前帧处理
|
|
|
|
|
|
* 输入参数:
|
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
|
* 返 回 值:无
|
|
|
|
|
|
* 调用关系:无
|
|
|
|
|
|
* 其它说明:
|
|
|
|
|
|
**********************************************************/
|
|
|
|
|
|
STD_TRACKER_API ARIDLL_OBJINFO ARIDLL_LockTargetByID(ArithHandle hArithSrc, GD_VIDEO_FRAME_S img, int nBatchID);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**********************************************************
|
|
|
|
|
|
* 函数名称:ARIDLL_GuideLockMultiCommand()
|
|
|
|
|
|
* 功能描述:视场外引导锁定-支持批量锁定 ,使用极坐标锁定
|
|
|
|
|
|
* 输入参数:
|
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
|
* 返 回 值:无
|
|
|
|
|
|
* 调用关系:无
|
|
|
|
|
|
* 其它说明:
|
|
|
|
|
|
**********************************************************/
|
|
|
|
|
|
STD_TRACKER_API void ARIDLL_GuideLockMultiCommand(ArithHandle hArithSrc, TargetGuide* guideList,int num);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**********************************************************
|
|
|
|
|
|
* 函数名称:ARIDLL_unLockCommand_3315()
|
|
|
|
|
|
* 功能描述:解锁
|
|
|
|
|
|
* 输入参数:int nunLockX--解锁位置——X, int nunLockY--解锁位置——y, int CancleMode--解锁模式 0-单点解锁 1-批量解锁
|
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
|
* 返 回 值:无
|
|
|
|
|
|
* 调用关系:无
|
|
|
|
|
|
* 其它说明:
|
|
|
|
|
|
**********************************************************/
|
|
|
|
|
|
STD_TRACKER_API void ARIDLL_unLockCommand_3315(ArithHandle hArithSrc, int nunLockX, int nunLockY, int CancleMode);
|
|
|
|
|
|
/**********************************************************
|
|
|
|
|
|
* 函数名称:ARIDLL_unLockCommand()
|
|
|
|
|
|
* 功能描述:解锁
|
|
|
|
|
|
* 输入参数:
|
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
|
* 返 回 值:无
|
|
|
|
|
|
* 调用关系:无
|
|
|
|
|
|
* 其它说明:
|
|
|
|
|
|
**********************************************************/
|
|
|
|
|
|
STD_TRACKER_API void ARIDLL_unLockCommand(ArithHandle hArithSrc);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**********************************************************
|
|
|
|
|
|
* 函数名称:ARIDLL_AdjustTrackRect()
|
|
|
|
|
|
* 功能描述:微调第主对地跟踪器跟踪框
|
|
|
|
|
|
* 输入参数:
|
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
|
* 返 回 值:无
|
|
|
|
|
|
* 调用关系:无
|
|
|
|
|
|
* 其它说明:
|
|
|
|
|
|
**********************************************************/
|
|
|
|
|
|
STD_TRACKER_API void ARIDLL_AdjustTrackRect(ArithHandle hArithSrc,int dx,int dy,int dw,int dh);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**********************************************************
|
|
|
|
|
|
* 函数名称:ARIDLL_ReadSetParamFile()
|
|
|
|
|
|
* 功能描述:读取序列化参数:从文件
|
|
|
|
|
|
* 输入参数:
|
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
|
* 返 回 值:设置成功标记
|
|
|
|
|
|
* 调用关系:无
|
|
|
|
|
|
* 其它说明:
|
|
|
|
|
|
**********************************************************/
|
|
|
|
|
|
STD_TRACKER_API bool ARIDLL_ReadSetParamFile(ArithHandle hArithSrc, const char* configFilePath);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**********************************************************
|
|
|
|
|
|
* 函数名称:ARIDLL_ReadSetParamFile()
|
|
|
|
|
|
* 功能描述:读取序列化参数:从buffer
|
|
|
|
|
|
* 输入参数:
|
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
|
* 返 回 值:设置成功标记
|
|
|
|
|
|
* 调用关系:无
|
|
|
|
|
|
* 其它说明:
|
|
|
|
|
|
**********************************************************/
|
|
|
|
|
|
STD_TRACKER_API bool ARIDLL_ReadSetParamStream(ArithHandle hArithSrc,const char* configsstream);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**********************************************************
|
|
|
|
|
|
* 函数名称:ARIDLL_SetScanMode()
|
|
|
|
|
|
* 功能描述:设置外部系统工作模式
|
|
|
|
|
|
* 输入参数:
|
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
|
* 返 回 值:无
|
|
|
|
|
|
* 调用关系:无
|
|
|
|
|
|
* 其它说明:
|
|
|
|
|
|
**********************************************************/
|
|
|
|
|
|
STD_TRACKER_API void ARIDLL_SetSysMode(ArithHandle hArithSrc, GLB_SYS_MODE nSysMode);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**********************************************************
|
|
|
|
|
|
* 函数名称:ARIDLL_SetWorkScen()
|
|
|
|
|
|
* 功能描述:设置工作场景,对空,对地,对海等
|
|
|
|
|
|
* 输入参数:
|
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
|
* 返 回 值:无
|
|
|
|
|
|
* 调用关系:无
|
|
|
|
|
|
* 其它说明:
|
|
|
|
|
|
**********************************************************/
|
|
|
|
|
|
STD_TRACKER_API void ARIDLL_SetScenMode(ArithHandle hArithSrc, GLB_SCEN_MODE nScenMode);
|
|
|
|
|
|
|
|
|
|
|
|
/**********************************************************
|
|
|
|
|
|
* 函数名称:ARIDLL_SetTrackMode()
|
|
|
|
|
|
* 功能描述:设置跟踪模式,SOT/MOT
|
|
|
|
|
|
* 输入参数:
|
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
|
* 返 回 值:无
|
|
|
|
|
|
* 调用关系:无
|
|
|
|
|
|
* 其它说明:
|
|
|
|
|
|
**********************************************************/
|
|
|
|
|
|
STD_TRACKER_API void ARIDLL_SetTrackMode(ArithHandle hArithSrc, BYTE8 TrackMode);
|
|
|
|
|
|
|
|
|
|
|
|
/**********************************************************
|
|
|
|
|
|
* 函数名称:ARIDLL_RunTLD()
|
|
|
|
|
|
* 功能描述:运行TLD流程,可供外部调用
|
|
|
|
|
|
* 输入参数:
|
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
|
* 返 回 值:无
|
|
|
|
|
|
* 调用关系:无
|
|
|
|
|
|
* 其它说明:
|
|
|
|
|
|
**********************************************************/
|
|
|
|
|
|
STD_TRACKER_API void ARIDLL_RunTLDTracker(ArithHandle hArithSrc, GD_VIDEO_FRAME_S img);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 标准接口至此结束
|
|
|
|
|
|
|
|
|
|
|
|
// 输出算法配置文件
|
|
|
|
|
|
STD_TRACKER_API void ARIDLL_ExportParamFile(ArithHandle hArithSrc, const char* configFilePath);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**********************************************************
|
|
|
|
|
|
* 函数名称:ARIDLL_LockOrUnLock()
|
|
|
|
|
|
* 功能描述:3315新增需求,单点响应锁定/解锁
|
|
|
|
|
|
* 输入参数:GD_VIDEO_FRAME_S img
|
|
|
|
|
|
int nX, int nY---点选位置
|
|
|
|
|
|
int Radius---解锁响应范围
|
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
|
* 返 回 值:无
|
|
|
|
|
|
* 调用关系:无
|
|
|
|
|
|
* 其它说明:
|
|
|
|
|
|
**********************************************************/
|
|
|
|
|
|
STD_TRACKER_API ARIDLL_OBJINFO ARIDLL_LockOrUnLock(ArithHandle hArithSrc, GD_VIDEO_FRAME_S img, int nX, int nY, int Radius);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**********************************************************
|
|
|
|
|
|
* 函数名称:ARIDLL_Sort_PipeByDistance()
|
|
|
|
|
|
* 功能描述:3315新增需求,按距离中心点距离对输出目标进行排序
|
|
|
|
|
|
* 输入参数:同ARIDLL_RunController()保持一致
|
|
|
|
|
|
* 输出参数:无
|
|
|
|
|
|
* 返 回 值:距离中心点最近目标索引
|
|
|
|
|
|
* 调用关系:无
|
|
|
|
|
|
* 其它说明:
|
|
|
|
|
|
**********************************************************/
|
|
|
|
|
|
STD_TRACKER_API int ARIDLL_Sort_PipeByDistance(ArithHandle hArithSrc, ARIDLL_OUTPUT* pstOutput);
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************
|
|
|
|
|
|
* 功能描述:根据动态文件是否存在,进行配置文件加载 --- 动态文件默认为init,并在 init <----> reset 之间循环使用
|
|
|
|
|
|
*********************************************************/
|
|
|
|
|
|
STD_TRACKER_API bool ARIDLL_Read_Config(ArithHandle hArithSrc, const char* ConfigPath);
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
|
}
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|