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.

88 lines
2.9 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.

/*********版权所有C2024武汉高德红外股份有限公司***************
* 文件名称: Arith_ObjArrest.cpp
* 文件标识: 跟踪目标重捕时机的返回
* 内容摘要:
* 其它说明: "Arith_ObjArrest.cpp"的函数、全局变量、宏定义,统一前缀为简写"ObjArrest_"
* 当前版本: 固化V2.0
* 创建作者: lk
* 创建日期: 2024.01.23
*************************************************************************/
#ifndef __ARITH_OBJ_ARREST_H__
#define __ARITH_OBJ_ARREST_H__
#include "Arith_Common.hpp"
#include "KCF/API_KCF_Tracker.h"
#include "Arith_AITTracker.h"
#include "Arith_OccludeJudge.h"
class TargetArrest
{
public:
TargetArrest(OccJudge* pOccFea, API_KCF_Tracker* pKCFTracker, API_TLD* pTLDTracker);
~TargetArrest();
public:
// 与遮挡重捕关联的遮挡判断事件
OccJudge* m_pOccFea;
API_KCF_Tracker* m_pKCFTracker;
API_TLD* m_pTLDTracker;
//重捕调试参数
UBYTE8 m_nArrestKCFStatus;
UBYTE8 m_nArrestAIStatus;
FLOAT32 m_fArrestKcfRes;
//重捕参数设置
BBOOL m_bEnableArrestCorr;
BBOOL m_bEnableArrestAngle;
BBOOL m_bEnableAreestEsay;
SINT32 m_nArrestEsayCnt;
//KCF重捕模块
void TLD_RecaptureKCF_Run(GD_VIDEO_FRAME_S img, PIPE* pLockingPipe,GLB_INPUT* p_GLB_Input);
//AI重捕模块
void TLD_RecaptureDasiamRPN_Run(GD_VIDEO_FRAME_S img, PIPE* pLockingPipe, GLB_INPUT* p_GLB_Input, AIT_Interface* pAITracker);
void AID_RecaptureKCF_Run(GD_VIDEO_FRAME_S img, PIPE* pLockingPipe, GLB_INPUT* p_GLB_Input);
//重捕成功参数更新
void ObjArrest_CleanUpObjArrestInfo(void);
//初始化解锁清理
void ObjArrest_CleanUpAllKCFArrestInfo(void);
//设置重捕参数
void ObjArrest_setArrestCorrPara(BBOOL bEnableArrestCorr);
void ObjArrest_setArrestAnglePara(BBOOL bEnableArrestAngle);
void ObjArrest_setArrestEsayPara(BBOOL bEnableArrestEsay);
void ObjArrest_setArrestEsayCntPara(SINT32 nArrestEsayCnt);
private:
UINT32 g_GLB_nMaxConfContinueFrame; //最大NN置信度处相关性确认的连续帧数避免出现错误重捕
UINT32 g_GLB_nConfShortConfirmContinueFrame; // 相关性确认的连续帧数,避免出现错误重捕
UINT32 g_GLB_nConfLongConfirmContinueFrame; // 相关性确认的连续帧数,避免出现错误重捕
MINMAXRECT brCurrentBoxTLDPre = { 0 }; //记录上一帧TLD检测位置
MINMAXRECT brCurrentBoxNNPre = { 0 };
MINMAXRECT brCurrentBoxNNPreAI = { 0 };
UBYTE8 m_bRecaptureKCF; //TLD_KCF重捕成功标志位
UBYTE8 m_bRecaptureAI; //TLD_DaSiamRPN重捕成功标志位
UINT32 m_ArrestCntKCF; //TLD_KCF重捕帧计数
UINT32 m_ArrestCntAI; //TLD_DaSiamRPN重捕帧计数
UBYTE8 m_nContiFrameCnt; //DaSiamRPN重捕连续帧计数
UBYTE8 m_nNNContiFrameCnt; //第二条成功重捕连续帧计数
SINT32 m_nDelayArrestCnt; //延时重捕帧计数
};
#endif