|
|
|
|
@ -696,7 +696,6 @@ int CameraCheckAnalysisy::preDet_BQ(const cv::Mat &L255CutImg, std::shared_ptr<I
|
|
|
|
|
{
|
|
|
|
|
long ts = CheckUtil::getcurTime();
|
|
|
|
|
m_pCheck_Result->cameraBaseResult->pBQ_Result = std::make_shared<BQ_Result>();
|
|
|
|
|
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_ptr<I
|
|
|
|
|
return re;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 如果要屏蔽标签
|
|
|
|
|
if (m_pCheck_Result->cameraBaseResult->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<I
|
|
|
|
|
boundingRect = boundingRect & cv::Rect(0, 0, detImg_mask.cols, detImg_mask.rows);
|
|
|
|
|
if (boundingRect.width > 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_ptr<I
|
|
|
|
|
cv::imwrite("sheildImg.png", m_pCheck_Result->cameraBaseResult->pEdgeDetResult->shieldMask);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
m_pdetlog->AddCheckstr(PrintLevel_2, "preDet_BQ", "shieldBQ is false");
|
|
|
|
|
}
|
|
|
|
|
std::shared_ptr<BQ_Result> 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++)
|
|
|
|
|
|