feat 脏污添加数量距离分析

dev_heyuan
liusiyang 3 months ago
parent 7c0dea2fac
commit 479f62af40

@ -15,6 +15,7 @@ enum QX_ANALYSIS_NAME
QX_ANALYSIS_Scratch, // 划伤
QX_ANALYSIS_LINE, // 线类
QX_ANALYSIS_MTX, // MTX
QX_ANALYSIS_Dirty, // 脏污
QX_ANALYSIS_ALL, // MTX&异物
QX_ANALYSIS_COUNT,
};
@ -26,6 +27,7 @@ static const std::string QX_ANALYSIS_NAME_Names[] =
"Scratch",
"LINE",
"MTX",
"Dirty",
"POL_Cell&MTX"};
// 预处理参数

@ -208,7 +208,14 @@ int AI_Edge_QX_Det::Detect(const cv::Mat &img, cv::Mat &detmask, DetConfig *pDet
}
if (bdege || nRuntype != 0)
{
std::string strSaveDir = "/home/aidlux/BOE/FOG/AI_Edge_Detect/";
std::string res_dir = "ok";
if (cv::countNonZero(outMask) > 0)
{
res_dir = "ng";
}
if (!detimg.empty() && !outMask.empty())
{
std::string strSaveDir = "/home/aidlux/BOE/FOG/AI_Edge_Detect/" + res_dir + "/";
CheckUtil::CreateDir(strSaveDir);
std::string roi_ext = "[" + std::to_string(r.x) + "," + std::to_string(r.y) + "]";
std::string strSavePath_in = strSaveDir + pDetConfig->strCamChannel + "_" + roi_ext + "_edge_in.png";
@ -216,6 +223,8 @@ int AI_Edge_QX_Det::Detect(const cv::Mat &img, cv::Mat &detmask, DetConfig *pDet
cv::imwrite(strSavePath_in, detimg);
cv::imwrite(strSavePath_out, outMask);
}
}
// 边缘检测存图
bool isAllZero = true;
if (cv::countNonZero(outMask) > 0)

@ -1752,6 +1752,11 @@ int ImageResultJudge::ConfigTypeToQXAnalysis(int nconfigType)
case CONFIG_QX_NAME_MTX:
QXAnalysis_type = QX_ANALYSIS_MTX; // MTX
break;
case CONFIG_QX_NAME_Dirty_L0:
case CONFIG_QX_NAME_Dirty_L1:
case CONFIG_QX_NAME_Dirty_L2:
QXAnalysis_type = QX_ANALYSIS_Dirty; // 脏污
break;
// case CONFIG_QX_NAME_Broken_line:
// QXAnalysis_type = QX_ANALYSIS_ALL, // MTX&异物
// break;

@ -139,6 +139,11 @@ int QX_Merge_Analysis::ConfigTypeToQXAnalysis(int nconfigType)
case CONFIG_QX_NAME_MTX:
QXAnalysis_type = QX_ANALYSIS_MTX; // MTX
break;
case CONFIG_QX_NAME_Dirty_L0:
case CONFIG_QX_NAME_Dirty_L1:
case CONFIG_QX_NAME_Dirty_L2:
QXAnalysis_type = QX_ANALYSIS_Dirty; // 脏污
break;
// case CONFIG_QX_NAME_Broken_line:
// QXAnalysis_type = QX_ANALYSIS_ALL, // MTX&异物
// break;
@ -378,7 +383,7 @@ int QX_Merge_Analysis::StartAnalysis()
// 分析每一个缺陷类型
for (int i = 0; i < QX_ANALYSIS_COUNT; i++)
{
if (QX_ANALYSIS_POL_CELL != i && QX_ANALYSIS_AD != i && QX_ANALYSIS_MTX != i && QX_ANALYSIS_Scratch != i && QX_ANALYSIS_LINE != i)
if (QX_ANALYSIS_POL_CELL != i && QX_ANALYSIS_AD != i && QX_ANALYSIS_MTX != i && QX_ANALYSIS_Scratch != i && QX_ANALYSIS_LINE != i && QX_ANALYSIS_Dirty != i)
{
m_pMergedetlog->AddCheckstr(PrintLevel_0, 3, "Num And Dis Judge", "== %d 11", i);
continue;

Loading…
Cancel
Save