|
|
|
@ -13,9 +13,6 @@ void Arith_EOController::Proc_MOTLock(GD_VIDEO_FRAME_S img, GLB_INPUT & g_Input,
|
|
|
|
#if 1
|
|
|
|
#if 1
|
|
|
|
// 管道队列
|
|
|
|
// 管道队列
|
|
|
|
PIPE* pPipeArray = g_GLB_PipeProc->getPipeArray();
|
|
|
|
PIPE* pPipeArray = g_GLB_PipeProc->getPipeArray();
|
|
|
|
|
|
|
|
|
|
|
|
// 原跟踪管道跟踪器所有权转移给当前锁定管道,后续的资源释放交给g_GLB_Trackers[nChoicePipeID] 这条管道
|
|
|
|
|
|
|
|
auto tracker = g_GLB_Trackers[g_GLB_stPara.nLockPipeInd];
|
|
|
|
|
|
|
|
if (g_GLB_stPara.stLockCtrl == LockMode::LOCK_POINT)
|
|
|
|
if (g_GLB_stPara.stLockCtrl == LockMode::LOCK_POINT)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// 找到点选的附近告警管道
|
|
|
|
// 找到点选的附近告警管道
|
|
|
|
@ -58,7 +55,7 @@ void Arith_EOController::Proc_MOTLock(GD_VIDEO_FRAME_S img, GLB_INPUT & g_Input,
|
|
|
|
pPipe->bTracking = true;
|
|
|
|
pPipe->bTracking = true;
|
|
|
|
pPipe->nDelCntThres = GLB_FRM_FREQ; //辅跟踪目标记忆1S
|
|
|
|
pPipe->nDelCntThres = GLB_FRM_FREQ; //辅跟踪目标记忆1S
|
|
|
|
g_GLB_stPara.bEnForceGuide = FALSE; //强制提取复位
|
|
|
|
g_GLB_stPara.bEnForceGuide = FALSE; //强制提取复位
|
|
|
|
g_GLB_stPara.stLockCtrl = LOCK_NONE; //锁定标记复位
|
|
|
|
|
|
|
|
//tracker->ResetByBackPipe(&pPipeArray[nChoicePipeID], img, &g_Input, 1);
|
|
|
|
//tracker->ResetByBackPipe(&pPipeArray[nChoicePipeID], img, &g_Input, 1);
|
|
|
|
//g_GLB_PipeProc->DelPipe(&pPipeArray[nChoicePipeID]);
|
|
|
|
//g_GLB_PipeProc->DelPipe(&pPipeArray[nChoicePipeID]);
|
|
|
|
|
|
|
|
|
|
|
|
@ -68,7 +65,7 @@ void Arith_EOController::Proc_MOTLock(GD_VIDEO_FRAME_S img, GLB_INPUT & g_Input,
|
|
|
|
//g_GLB_stPara.nStatus = GLB_STATUS_TRACK;
|
|
|
|
//g_GLB_stPara.nStatus = GLB_STATUS_TRACK;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
g_GLB_stPara.stLockCtrl = LOCK_NONE; //锁定标记复位
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
@ -258,7 +255,11 @@ BBOOL Arith_EOController::Arith_Status_MOTRACK(GD_VIDEO_FRAME_S img, GLB_INPUT&
|
|
|
|
// 管道队列
|
|
|
|
// 管道队列
|
|
|
|
PIPE* pPipeArray = g_GLB_PipeProc->getPipeArray();
|
|
|
|
PIPE* pPipeArray = g_GLB_PipeProc->getPipeArray();
|
|
|
|
SINT32 nPipeArrayLen = g_GLB_stPara.nPipeMaxNum;
|
|
|
|
SINT32 nPipeArrayLen = g_GLB_stPara.nPipeMaxNum;
|
|
|
|
|
|
|
|
// 目标系统相关的其他信息计算
|
|
|
|
|
|
|
|
Arith_CalcTargetSysInfo(pFrameTargetArray, nFrmTargetNum, g_Input);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// MOT管道处理
|
|
|
|
|
|
|
|
g_GLB_PipeProc->Run(pFrameTargetArray, nFrmTargetNum, GLB_STATUS_TRACK, g_Input);
|
|
|
|
// 执行MOT
|
|
|
|
// 执行MOT
|
|
|
|
//SINT32 nTrackingNum = MultiTargteTrack(img, g_GLB_PipeProc, g_GLB_Trackers, &g_Input, nPipeArrayLen, &g_stArithPara);
|
|
|
|
//SINT32 nTrackingNum = MultiTargteTrack(img, g_GLB_PipeProc, g_GLB_Trackers, &g_Input, nPipeArrayLen, &g_stArithPara);
|
|
|
|
// 取被锁定的单目标管道
|
|
|
|
// 取被锁定的单目标管道
|
|
|
|
@ -296,11 +297,7 @@ BBOOL Arith_EOController::Arith_Status_MOTRACK(GD_VIDEO_FRAME_S img, GLB_INPUT&
|
|
|
|
// 处理锁定指令,初始化跟踪
|
|
|
|
// 处理锁定指令,初始化跟踪
|
|
|
|
Proc_MOTLock(img, g_Input, g_para);
|
|
|
|
Proc_MOTLock(img, g_Input, g_para);
|
|
|
|
|
|
|
|
|
|
|
|
// 目标系统相关的其他信息计算
|
|
|
|
|
|
|
|
Arith_CalcTargetSysInfo(pFrameTargetArray, nFrmTargetNum, g_Input);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// MOT管道处理
|
|
|
|
|
|
|
|
g_GLB_PipeProc->Run(pFrameTargetArray, nFrmTargetNum, GLB_STATUS_TRACK, g_Input);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (nTrackingNum > 1)
|
|
|
|
if (nTrackingNum > 1)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|