update 优化存图

dev_lsy
liusiyang 3 weeks ago
parent 047fbadb94
commit 7540f887a4

@ -103,6 +103,7 @@ public:
int ncamId; // 相机ID int ncamId; // 相机ID
BaseCheckFunction *pBaseCheckFunction; BaseCheckFunction *pBaseCheckFunction;
std::string strChannel; // 通道 std::string strChannel; // 通道
std::string strProductID; // 产品ID(定位存图文件名首位)
int nthresholdvalue; // 背景阈值 int nthresholdvalue; // 背景阈值
int nAIErodesize; // 边缘腐蚀强度 int nAIErodesize; // 边缘腐蚀强度
bool bSaveResultImg; // 保存结果图片 bool bSaveResultImg; // 保存结果图片
@ -118,6 +119,7 @@ public:
void Init() void Init()
{ {
pBaseCheckFunction = NULL; pBaseCheckFunction = NULL;
strProductID = "";
ncamId = 0; ncamId = 0;
nthresholdvalue = 1; nthresholdvalue = 1;
nAIErodesize = 7; nAIErodesize = 7;

@ -185,8 +185,8 @@ AI_Edge_Algin::AI_Edge_Algin(std::shared_ptr<DetLog> &log_ref)
m_bModelSucc = false; m_bModelSucc = false;
m_bModel_Mark_Succ = false; m_bModel_Mark_Succ = false;
m_bshowimg = false; m_bshowimg = false;
m_strRootPath_Big = "/home/aidlux/BOE/Algin/"; m_strRootPath_Big = "/home/aidlux/BOE/Algin/BM/";
m_strRootPath_Mark = "/home/aidlux/BOE/MarkLine/"; m_strRootPath_Mark = "/home/aidlux/BOE/MarkLine/BM/";
creatsavedir(); creatsavedir();
std::string m_strSavePath; std::string m_strSavePath;
@ -414,19 +414,13 @@ int AI_Edge_Algin::Get_Edge(int AIModel_type, const cv::Mat &img, DetConfig *pDe
if (pDetConfig->pBaseCheckFunction->saveImg.bSaveAlginImg) if (pDetConfig->pBaseCheckFunction->saveImg.bSaveAlginImg)
{ {
creatsavedir(); creatsavedir();
static int sdk = 0; // 定位存图文件名:{产品ID}_{通道}_{模型序号(0大/1小/2Tag)}_Img(_mask).png
std::string str = m_strSavePath_Big + std::to_string(sdk) + "_" + pDetConfig->strChannel + "_Img.png"; std::string str = m_strSavePath_Big + pDetConfig->strProductID + "_" + pDetConfig->strChannel + "_" + std::to_string(AIModel_type) + "_Img.png";
int sr = m_pImageStorage->addImage(str, detImg); int sr = m_pImageStorage->addImage(str, detImg);
if (sr == 0) if (sr == 0)
{ {
str = m_strSavePath_Big + std::to_string(sdk) + "_" + pDetConfig->strChannel + "_Img_mask.png"; str = m_strSavePath_Big + pDetConfig->strProductID + "_" + pDetConfig->strChannel + "_" + std::to_string(AIModel_type) + "_Img_mask.png";
int sr = m_pImageStorage->addImage(str, mask, true); int sr = m_pImageStorage->addImage(str, mask, true);
sdk++;
if (sdk > 99999)
{
sdk = 0;
/* code */
}
} }
} }

@ -2045,6 +2045,16 @@ int ImgCheckAnalysisy::AI_Detect_Thread(const cv::Mat &img, cv::Mat &ResultImg)
m_pdetlog->AddCheckstr(PrintLevel_0, DET_LOG_LEVEL_3, strBaseLog, "AI_Detect End"); m_pdetlog->AddCheckstr(PrintLevel_0, DET_LOG_LEVEL_3, strBaseLog, "AI_Detect End");
if (m_pbaseCheckFunction->saveImg.bSaveAIDetImg && !ResultImg.empty())
{
std::string strSaveDir = "/home/aidlux/BOE/AI_Detect/KK/" + DetImgInfo_shareP->strImgProductID + "/";
CheckUtil::CreateDir(strSaveDir);
std::string strSavePath_in = strSaveDir + m_strCurDetChannel + "_in.png";
std::string strSavePath_out = strSaveDir + m_strCurDetChannel + "_out.png";
cv::imwrite(strSavePath_in, inputImg);
cv::imwrite(strSavePath_out, ResultImg);
}
// 临时存图 // 临时存图
if (DetImgInfo_shareP->bsaveProcessImg) if (DetImgInfo_shareP->bsaveProcessImg)
{ {
@ -2537,6 +2547,7 @@ int ImgCheckAnalysisy::AI_Edge(const cv::Mat &img, cv::RotatedRect &outerRoi, cv
config.strChannel = DetImgInfo_shareP->strChannel; config.strChannel = DetImgInfo_shareP->strChannel;
config.pBaseCheckFunction = m_pbaseCheckFunction; config.pBaseCheckFunction = m_pbaseCheckFunction;
config.bDetTag = m_pFuntion->function.f_supportDet.bDetTag; // 标签检测开关:关闭时不跑 Tag_Loc config.bDetTag = m_pFuntion->function.f_supportDet.bDetTag; // 标签检测开关:关闭时不跑 Tag_Loc
config.strProductID = DetImgInfo_shareP->strImgProductID; // 定位存图文件名首位使用产品ID
/* 定位获取三个roi */ /* 定位获取三个roi */
int re = m_pAI_Edge_Algin.Detect(img, &config, m_pEdge_Align_Result); int re = m_pAI_Edge_Algin.Detect(img, &config, m_pEdge_Align_Result);

@ -1148,9 +1148,9 @@ struct Base_Function_SaveImg
{ {
bool bOpen; // 是否开启 bool bOpen; // 是否开启
bool bSaveMarkImg; // mark 存图 bool bSaveAIDetImg; // mark 存图
bool bSaveClsImg; // 分类 存图 bool bSaveClsImg; // 分类 存图
bool bSaveAlginImg; // 分类 存图 bool bSaveAlginImg; // 定位 存图
Base_Function_SaveImg() Base_Function_SaveImg()
{ {
@ -1159,7 +1159,7 @@ struct Base_Function_SaveImg
void Init() void Init()
{ {
bOpen = false; bOpen = false;
bSaveMarkImg = false; bSaveAIDetImg = false;
bSaveClsImg = false; bSaveClsImg = false;
bSaveAlginImg = false; bSaveAlginImg = false;
} }
@ -1168,20 +1168,20 @@ struct Base_Function_SaveImg
{ {
this->bOpen = tem.bOpen; this->bOpen = tem.bOpen;
this->bSaveMarkImg = tem.bSaveMarkImg; this->bSaveAIDetImg = tem.bSaveAIDetImg;
this->bSaveClsImg = tem.bSaveClsImg; this->bSaveClsImg = tem.bSaveClsImg;
this->bSaveAlginImg = tem.bSaveAlginImg; this->bSaveAlginImg = tem.bSaveAlginImg;
} }
void print(std::string str) void print(std::string str)
{ {
printf("%s>>bOpen %d bSaveMarkImg %d bSaveClsImg %d bSaveAlginImg %d \n", str.c_str(), printf("%s>>bOpen %d bSaveAIDetImg %d bSaveClsImg %d bSaveAlginImg %d \n", str.c_str(),
bOpen, bSaveMarkImg, bSaveClsImg, bSaveAlginImg); bOpen, bSaveAIDetImg, bSaveClsImg, bSaveAlginImg);
} }
std::string GetInfo(std::string str) std::string GetInfo(std::string str)
{ {
char buffer[256]; char buffer[256];
sprintf(buffer, "%s>>bOpen %d bSaveMarkImg %d bSaveClsImg %d bSaveAlginImg %d \n", str.c_str(), sprintf(buffer, "%s>>bOpen %d bSaveAIDetImg %d bSaveClsImg %d bSaveAlginImg %d \n", str.c_str(),
bOpen, bSaveMarkImg, bSaveClsImg, bSaveAlginImg); bOpen, bSaveAIDetImg, bSaveClsImg, bSaveAlginImg);
std::string str123 = buffer; std::string str123 = buffer;
return str123; return str123;
} }

@ -982,10 +982,6 @@ int BaseFuntonConfigJson::GetFunction(Json::Value value)
if (_config.saveImg.bOpen) if (_config.saveImg.bOpen)
{ {
if (value_f["form"]["SaveImg_Config"]["Mark_Save"])
{
_config.saveImg.bSaveMarkImg = value_f["form"]["SaveImg_Config"]["Mark_Save"].asBool();
}
if (value_f["form"]["SaveImg_Config"]["Cls_Save"]) if (value_f["form"]["SaveImg_Config"]["Cls_Save"])
{ {
_config.saveImg.bSaveClsImg = value_f["form"]["SaveImg_Config"]["Cls_Save"].asBool(); _config.saveImg.bSaveClsImg = value_f["form"]["SaveImg_Config"]["Cls_Save"].asBool();
@ -994,6 +990,10 @@ int BaseFuntonConfigJson::GetFunction(Json::Value value)
{ {
_config.saveImg.bSaveAlginImg = value_f["form"]["SaveImg_Config"]["Align_Big_Save"].asBool(); _config.saveImg.bSaveAlginImg = value_f["form"]["SaveImg_Config"]["Align_Big_Save"].asBool();
} }
if (value_f["form"]["SaveImg_Config"]["AI_Det_Save"])
{
_config.saveImg.bSaveAIDetImg = value_f["form"]["SaveImg_Config"]["AI_Det_Save"].asBool();
}
} }
else else
{ {

Loading…
Cancel
Save