From 6c5f6a9d55a3d531788abc5e86c617fccfe6d32d Mon Sep 17 00:00:00 2001 From: liusiyang Date: Fri, 17 Jul 2026 21:38:06 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E6=A0=B9=E6=8D=AE=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E8=BF=9B=E8=A1=8CBQ=E6=A3=80=E6=B5=8B(v1.3.2?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AlgorithmModule/src/CameraCheckAnalysisy.cpp | 11 ++--------- AlgorithmModule/src/ImgCheckAnalysisy.cpp | 12 +++++++++--- ConfigModule/include/CheckConfigDefine.h | 1 + 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/AlgorithmModule/src/CameraCheckAnalysisy.cpp b/AlgorithmModule/src/CameraCheckAnalysisy.cpp index e1cc4b3..9131841 100644 --- a/AlgorithmModule/src/CameraCheckAnalysisy.cpp +++ b/AlgorithmModule/src/CameraCheckAnalysisy.cpp @@ -696,7 +696,6 @@ int CameraCheckAnalysisy::preDet_BQ(const cv::Mat &L255CutImg, std::shared_ptrcameraBaseResult->pBQ_Result = std::make_shared(); - m_pCheck_Result->cameraBaseResult->pBQ_Result->bShield_BQ = m_AnalysisyConfig.commonCheckConfig.baseConfig.bShield_BQ; // Det_BQ 已从 Base 层移至 Channel 层 ChannelCheckFunction *pChannelFuntion_BQ = GetChannelFuntion(L255->strChannel); @@ -724,8 +723,7 @@ int CameraCheckAnalysisy::preDet_BQ(const cv::Mat &L255CutImg, std::shared_ptrcameraBaseResult->pBQ_Result->bShield_BQ) + // 默认屏蔽标签 { m_pdetlog->AddCheckstr(PrintLevel_2, "preDet_BQ", "shieldBQ is Open"); cv::Mat detImg_mask = m_pCheck_Result->cameraBaseResult->pEdgeDetResult->shieldMask; @@ -740,13 +738,12 @@ int CameraCheckAnalysisy::preDet_BQ(const cv::Mat &L255CutImg, std::shared_ptr 0 && boundingRect.height > 0) { - // 同时屏蔽主AI,避免重复检测 detImg_mask(boundingRect).setTo(255); + m_pCheck_Result->cameraBaseResult->pBQ_Result->pBQ_expandedRoiList.push_back(boundingRect); // 保存裁剪图像供独立BQ AI检测 if (pChannelFuntion_BQ && pChannelFuntion_BQ->function.f_Det_BQ.bBQ_AI_Det) { - m_pCheck_Result->cameraBaseResult->pBQ_Result->pBQ_expandedRoiList.push_back(boundingRect); cv::Mat bqCrop = L255CutImg(boundingRect).clone(); m_pCheck_Result->cameraBaseResult->pBQ_Result->pBQ_cropImages.push_back(bqCrop); } @@ -757,10 +754,6 @@ int CameraCheckAnalysisy::preDet_BQ(const cv::Mat &L255CutImg, std::shared_ptrcameraBaseResult->pEdgeDetResult->shieldMask); } } - else - { - m_pdetlog->AddCheckstr(PrintLevel_2, "preDet_BQ", "shieldBQ is false"); - } std::shared_ptr pBQ_Result = m_pCheck_Result->cameraBaseResult->pBQ_Result; // BQ 检测结果 pBQ_Result->BQ_centerPoint.erase(pBQ_Result->BQ_centerPoint.begin(), pBQ_Result->BQ_centerPoint.end()); for (int i = 0; i < pBQ_Result->pBQ_roiList.size(); i++) diff --git a/AlgorithmModule/src/ImgCheckAnalysisy.cpp b/AlgorithmModule/src/ImgCheckAnalysisy.cpp index 8cd7cf1..23da02a 100644 --- a/AlgorithmModule/src/ImgCheckAnalysisy.cpp +++ b/AlgorithmModule/src/ImgCheckAnalysisy.cpp @@ -170,7 +170,7 @@ int ImgCheckAnalysisy::GetStatus() std::string ImgCheckAnalysisy::GetVersion() { - return std::string("BOE_1.3.1_" + std::string(__DATE__) + "_" + std::string(__TIME__)); + return std::string("BOE_1.3.2_" + std::string(__DATE__) + "_" + std::string(__TIME__)); } std::string ImgCheckAnalysisy::GetErrorInfo() @@ -2212,7 +2212,13 @@ int ImgCheckAnalysisy::AI_Detect_BQ() // 提交任务(限制并发数不超过2,避免占用过多资源) if (submitted < bqNum && runner->GetProcessingCount() < 2) { - cv::Mat bqCrop = m_pImageAllResult->cameraBaseResult->pBQ_Result->pBQ_cropImages.at(submitted); + cv::Rect bqRoi = m_pImageAllResult->cameraBaseResult->pBQ_Result->pBQ_expandedRoiList.at(submitted); + cv::Rect validRoi = bqRoi & cv::Rect(0, 0, AI_detImage.cols, AI_detImage.rows); + cv::Mat bqCrop; + if (validRoi.width > 0 && validRoi.height > 0) + { + bqCrop = AI_detImage(validRoi).clone(); + } if (!bqCrop.empty()) { cv::Mat resizedCrop; @@ -2220,7 +2226,7 @@ int ImgCheckAnalysisy::AI_Detect_BQ() std::shared_ptr task = std::make_shared(); task->id = submitted; - task->roi = cv::Rect(0, 0, modelInputSize.width, modelInputSize.height); + task->roi = cv::Rect(0, 0, validRoi.width, validRoi.height); task->input = resizedCrop; task->output = std::make_shared(); task->engine = pAI_Model; diff --git a/ConfigModule/include/CheckConfigDefine.h b/ConfigModule/include/CheckConfigDefine.h index 7411bed..9a9115f 100644 --- a/ConfigModule/include/CheckConfigDefine.h +++ b/ConfigModule/include/CheckConfigDefine.h @@ -466,6 +466,7 @@ struct BasicConfig height_max = 999999; bDrawShieldRoi = false; bShield_ZF = false; + bShield_BQ = true; bDrawPreRoi = false; fUP_IOU = 0.9; bCal_ImageScale = false;