|
|
|
@ -435,9 +435,11 @@ void SA_Tracker::SetAutoSearchZone(SINT32 nWidth, SINT32 nHeight, GLB_INPUT* p_G
|
|
|
|
SINT32 nPipeRadiusTrack = m_TSA_Param.nPipeRadiusTrack;
|
|
|
|
SINT32 nPipeRadiusTrack = m_TSA_Param.nPipeRadiusTrack;
|
|
|
|
SINT32 nPipeRadiusLost = m_TSA_Param.nPipeRadiusLost;
|
|
|
|
SINT32 nPipeRadiusLost = m_TSA_Param.nPipeRadiusLost;
|
|
|
|
//根据目标速度预测目标在当前帧的坐标位置
|
|
|
|
//根据目标速度预测目标在当前帧的坐标位置
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 伺服太晃,直接使用短时预测。
|
|
|
|
nEnd = m_LockingPipe->ubEnd;
|
|
|
|
nEnd = m_LockingPipe->ubEnd;
|
|
|
|
pPipe->ptCurrentPnt.x = pPipe->stMotionMod_mean.crnObjPrediRtLong.cx;
|
|
|
|
pPipe->ptCurrentPnt.x = pPipe->stMotionMod_mean.crnObjPrediRtNear.cx;
|
|
|
|
pPipe->ptCurrentPnt.y = pPipe->stMotionMod_mean.crnObjPrediRtLong.cy;
|
|
|
|
pPipe->ptCurrentPnt.y = pPipe->stMotionMod_mean.crnObjPrediRtNear.cy;
|
|
|
|
|
|
|
|
|
|
|
|
// 取长时预测点作为管道当前位置预测
|
|
|
|
// 取长时预测点作为管道当前位置预测
|
|
|
|
if (PIPE_EVENT_JUST_LOCK == m_LockingPipe->ubEventStatus)
|
|
|
|
if (PIPE_EVENT_JUST_LOCK == m_LockingPipe->ubEventStatus)
|
|
|
|
@ -452,6 +454,7 @@ void SA_Tracker::SetAutoSearchZone(SINT32 nWidth, SINT32 nHeight, GLB_INPUT* p_G
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//判断管道目标是否超出视场
|
|
|
|
//判断管道目标是否超出视场
|
|
|
|
//if (IMGO_IsPoint16SOutImg(nWidth, nHeight, pPipe->ptCurrentPnt))
|
|
|
|
//if (IMGO_IsPoint16SOutImg(nWidth, nHeight, pPipe->ptCurrentPnt))
|
|
|
|
if(IMGO_IsPoint32FOutImg(nWidth, nHeight, ptCurrentPnt))
|
|
|
|
if(IMGO_IsPoint32FOutImg(nWidth, nHeight, ptCurrentPnt))
|
|
|
|
@ -1175,7 +1178,7 @@ SINT32 SA_Tracker::FindMatchTarget(PIPE* pPipe, TARGET_OBJECT* ptTargetArray, SI
|
|
|
|
//局部变量
|
|
|
|
//局部变量
|
|
|
|
FLOAT32 fSim = 0.0f; //目标相似度
|
|
|
|
FLOAT32 fSim = 0.0f; //目标相似度
|
|
|
|
FLOAT32 fSimMax = -1.0f;//目标相似度最大值
|
|
|
|
FLOAT32 fSimMax = -1.0f;//目标相似度最大值
|
|
|
|
FLOAT32 fSimThres = 0.7f; //相似度阈值
|
|
|
|
FLOAT32 fSimThres = 0.2f; //相似度阈值
|
|
|
|
SINT32 nFrmsStep = 1; //帧间隔
|
|
|
|
SINT32 nFrmsStep = 1; //帧间隔
|
|
|
|
TARGET_OBJECT* ptMainTarget = NULL; //主管道目标
|
|
|
|
TARGET_OBJECT* ptMainTarget = NULL; //主管道目标
|
|
|
|
TARGET_OBJECT* ptTarget = NULL; //候选目标
|
|
|
|
TARGET_OBJECT* ptTarget = NULL; //候选目标
|
|
|
|
@ -1377,8 +1380,8 @@ SINT32 SA_Tracker::FindMatchTarget(PIPE* pPipe, TARGET_OBJECT* ptTargetArray, SI
|
|
|
|
fAScaleChangeHighThres = 2.0;
|
|
|
|
fAScaleChangeHighThres = 2.0;
|
|
|
|
nLastDiffThresX = MAX(nMoveMin, 6);
|
|
|
|
nLastDiffThresX = MAX(nMoveMin, 6);
|
|
|
|
nLastDiffThresY = MAX(nMoveMin, 6);
|
|
|
|
nLastDiffThresY = MAX(nMoveMin, 6);
|
|
|
|
nPredictDiffThresX = MAX(nFThreMin, 6);
|
|
|
|
nPredictDiffThresX = MAX(nFThreMin, 12);
|
|
|
|
nPredictDiffThresY = MAX(nFThreMin, 6);
|
|
|
|
nPredictDiffThresY = MAX(nFThreMin, 12);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|