templateMatching::Matcher_SetTemplate(matcher, img, stTargetRect); // 设置模板 --3315会崩溃,先注释

main
11566hyc 11 months ago
parent 9730739fed
commit ea42562669

@ -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.h = pTrackingTarget->snSize.h;
stTargetRect.x = SINT32(pTrackingTarget->pfCenPos.x - stTargetRect.w / 2); stTargetRect.x = SINT32(pTrackingTarget->pfCenPos.x - stTargetRect.w / 2);
stTargetRect.y = SINT32(pTrackingTarget->pfCenPos.y - stTargetRect.h / 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; // 输出目标尺寸类型为未知 m_TSky_Output.m_SizeMode = SizeType::unKnown; // 输出目标尺寸类型为未知

@ -47,8 +47,9 @@ namespace templateMatching {
void LearnPattern(s_TemplData& m_TemplData, Mat& m_matDst, double& m_iMinReduceArea) void LearnPattern(s_TemplData& m_TemplData, Mat& m_matDst, double& m_iMinReduceArea)
{ {
m_TemplData.clear(); // 模板清空 m_TemplData.clear(); // 模板清空
int iTopLayer = GetTopLayer(&m_matDst, (int)sqrt((double)m_iMinReduceArea));// 获取金字塔的降采样层数 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); // 目标区域构建金字塔 buildPyramid(m_matDst, m_TemplData.vecPyramid, iTopLayer); // 目标区域构建金字塔
s_TemplData* templData = &m_TemplData; s_TemplData* templData = &m_TemplData;
templData->iBorderColor = mean(m_matDst).val[0] < 128 ? 255 : 0; // 依据图像块均值,定义边界颜色 templData->iBorderColor = mean(m_matDst).val[0] < 128 ? 255 : 0; // 依据图像块均值,定义边界颜色

Loading…
Cancel
Save