diff --git a/NeoTracker/src/Arith_SkyTracker.cpp b/NeoTracker/src/Arith_SkyTracker.cpp index 5c06cda..8288eeb 100644 --- a/NeoTracker/src/Arith_SkyTracker.cpp +++ b/NeoTracker/src/Arith_SkyTracker.cpp @@ -147,7 +147,7 @@ bool SkyTracker::Init(GD_VIDEO_FRAME_S img, PIPE* pLockPipe, GLB_INPUT* p_GLB_In stTargetRect.h = pTrackingTarget->snSize.h; stTargetRect.x = SINT32(pTrackingTarget->pfCenPos.x - stTargetRect.w / 2); stTargetRect.y = SINT32(pTrackingTarget->pfCenPos.y - stTargetRect.h / 2); - templateMatching::Matcher_SetTemplate(matcher, img, stTargetRect); // 设置模板 + //templateMatching::Matcher_SetTemplate(matcher, img, stTargetRect); // 设置模板 --3315会崩溃,先注释 m_TSky_Output.m_SizeMode = SizeType::unKnown; // 输出目标尺寸类型为未知 diff --git a/NeoTracker/src/Matcher/PatternMatching.cpp b/NeoTracker/src/Matcher/PatternMatching.cpp index 18e6997..05a0839 100644 --- a/NeoTracker/src/Matcher/PatternMatching.cpp +++ b/NeoTracker/src/Matcher/PatternMatching.cpp @@ -47,8 +47,9 @@ namespace templateMatching { void LearnPattern(s_TemplData& m_TemplData, Mat& m_matDst, double& m_iMinReduceArea) { m_TemplData.clear(); // 模板清空 - int iTopLayer = GetTopLayer(&m_matDst, (int)sqrt((double)m_iMinReduceArea));// 获取金字塔的降采样层数 + LOG_DEBUG("iTopLayer: {}", iTopLayer); //监测iTopLayer是否存在溢出 iTopLayer == 0会报错 + iTopLayer = MAX(iTopLayer, 1); buildPyramid(m_matDst, m_TemplData.vecPyramid, iTopLayer); // 目标区域构建金字塔 s_TemplData* templData = &m_TemplData; templData->iBorderColor = mean(m_matDst).val[0] < 128 ? 255 : 0; // 依据图像块均值,定义边界颜色