From a5bfe40bee5f59d892c9e15d4f23502e5b545bac Mon Sep 17 00:00:00 2001 From: liusiyang Date: Tue, 21 Jul 2026 09:56:17 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E6=A0=87=E7=AD=BE=E6=A3=80=E6=B5=8B?= =?UTF-8?q?=E5=AD=98=E5=9B=BE=E6=B7=BB=E5=8A=A0=E5=8F=82=E6=95=B0=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AlgorithmModule/include/ImageDetConfig.h | 1 + AlgorithmModule/src/CameraCheckAnalysisy.cpp | 2 +- AlgorithmModule/src/ImgCheckAnalysisy.cpp | 6 +++--- ConfigModule/include/CheckConfigDefine.h | 11 +++++++---- ConfigModule/src/JsonConfig.cpp | 4 ++++ 5 files changed, 16 insertions(+), 8 deletions(-) diff --git a/AlgorithmModule/include/ImageDetConfig.h b/AlgorithmModule/include/ImageDetConfig.h index a332917..54f3075 100644 --- a/AlgorithmModule/include/ImageDetConfig.h +++ b/AlgorithmModule/include/ImageDetConfig.h @@ -346,6 +346,7 @@ struct BQ_Result int nresult = 1; bool bShield_BQ = true; // 是否屏蔽标签 bool bBQ_AI_Det = false; // 是否启用标签独立AI检测 + bool bsaveAll = false; // 是否保存所有的检测结果 std::vector pBQ_roiList; // 标签的原始区域 std::vector pBQ_expandedRoiList; // 标签的扩展后区域(用于AI检测) std::vector pBQ_cropImages; // 标签扩展区域图像 diff --git a/AlgorithmModule/src/CameraCheckAnalysisy.cpp b/AlgorithmModule/src/CameraCheckAnalysisy.cpp index 9131841..931c81c 100644 --- a/AlgorithmModule/src/CameraCheckAnalysisy.cpp +++ b/AlgorithmModule/src/CameraCheckAnalysisy.cpp @@ -697,11 +697,11 @@ int CameraCheckAnalysisy::preDet_BQ(const cv::Mat &L255CutImg, std::shared_ptrcameraBaseResult->pBQ_Result = std::make_shared(); - // Det_BQ 已从 Base 层移至 Channel 层 ChannelCheckFunction *pChannelFuntion_BQ = GetChannelFuntion(L255->strChannel); if (pChannelFuntion_BQ) { m_pCheck_Result->cameraBaseResult->pBQ_Result->bBQ_AI_Det = pChannelFuntion_BQ->function.f_Det_BQ.bBQ_AI_Det; + m_pCheck_Result->cameraBaseResult->pBQ_Result->bsaveAll = pChannelFuntion_BQ->function.f_Det_BQ.bsaveAll; } cv::Rect Det_CropRoi = m_pCheck_Result->cameraBaseResult->pEdgeDetResult->cutRoi; diff --git a/AlgorithmModule/src/ImgCheckAnalysisy.cpp b/AlgorithmModule/src/ImgCheckAnalysisy.cpp index 32b04c8..49343f9 100644 --- a/AlgorithmModule/src/ImgCheckAnalysisy.cpp +++ b/AlgorithmModule/src/ImgCheckAnalysisy.cpp @@ -2270,7 +2270,7 @@ int ImgCheckAnalysisy::AI_Detect_BQ() m_pdetlog->AddCheckstr(PrintLevel_2, strBaseLog, "BQ small roi num = %d", totalTasks); // 调试存图:原图 + BQ小ROI框 - if (DetImgInfo_shareP->bDebugsaveImg) + if (m_pImageAllResult->cameraBaseResult->pBQ_Result->bsaveAll) { cv::Mat debugImg; if (AI_detImage.channels() == 1) @@ -2305,7 +2305,7 @@ int ImgCheckAnalysisy::AI_Detect_BQ() task->engine = pAI_Model; // 调试存图:保存每个小块 - if (DetImgInfo_shareP->bDebugsaveImg) + if (m_pImageAllResult->cameraBaseResult->pBQ_Result->bsaveAll) { cv::imwrite(m_strCurDetCamChannel + "_BQ_crop_" + std::to_string(submitted) + ".png", task->input); } @@ -2322,7 +2322,7 @@ int ImgCheckAnalysisy::AI_Detect_BQ() if (!outimg.empty()) { // 调试存图:保存模型原始输出mask - if (DetImgInfo_shareP->bDebugsaveImg) + if (m_pImageAllResult->cameraBaseResult->pBQ_Result->bsaveAll) { cv::imwrite(m_strCurDetCamChannel + "_BQ_outmask_" + std::to_string(result->id) + ".png", outimg); } diff --git a/ConfigModule/include/CheckConfigDefine.h b/ConfigModule/include/CheckConfigDefine.h index 9a9115f..30a6399 100644 --- a/ConfigModule/include/CheckConfigDefine.h +++ b/ConfigModule/include/CheckConfigDefine.h @@ -1724,6 +1724,7 @@ struct Function_Det_BQ { bool bBQ_AI_Det; // 是否启用标签独立AI检测 int BQ_expand; + bool bsaveAll; Function_Det_BQ() { @@ -1733,22 +1734,24 @@ struct Function_Det_BQ { BQ_expand = 0; bBQ_AI_Det = false; + bsaveAll = false; } void copy(Function_Det_BQ tem) { this->BQ_expand = tem.BQ_expand; this->bBQ_AI_Det = tem.bBQ_AI_Det; + this->bsaveAll = tem.bsaveAll; } void print(std::string str) { - printf("%d BQ_expand %d bBQ_AI_Det %d\n", str.c_str(), - BQ_expand, bBQ_AI_Det); + printf("%d BQ_expand %d bBQ_AI_Det %d bsaveAll %d\n", str.c_str(), + BQ_expand, bBQ_AI_Det, bsaveAll); } std::string GetInfo(std::string str) { char buffer[256]; - sprintf(buffer, "%d BQ_expand %d bBQ_AI_Det %d\n", str.c_str(), - BQ_expand, bBQ_AI_Det); + sprintf(buffer, "%d BQ_expand %d bBQ_AI_Det %d bsaveAll %d\n", str.c_str(), + BQ_expand, bBQ_AI_Det, bsaveAll); std::string str123 = buffer; return str123; } diff --git a/ConfigModule/src/JsonConfig.cpp b/ConfigModule/src/JsonConfig.cpp index fd74fdc..40dec9d 100644 --- a/ConfigModule/src/JsonConfig.cpp +++ b/ConfigModule/src/JsonConfig.cpp @@ -1123,6 +1123,10 @@ int ChannelFuntonConfigJson::GetFunction(Json::Value value, CheckFunction &funct { function.f_Det_BQ.BQ_expand = value_f["form"]["BQ_Param"]["BQ_expand"].asInt(); } + if (value_f["form"]["BQ_Param"]["bsaveAll"]) + { + function.f_Det_BQ.bsaveAll = value_f["form"]["BQ_Param"]["bsaveAll"].asBool(); + } } } }