update 优化存图

dev_lsy
liusiyang 3 weeks ago
parent 047fbadb94
commit 7540f887a4

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

@ -185,8 +185,8 @@ AI_Edge_Algin::AI_Edge_Algin(std::shared_ptr<DetLog> &log_ref)
m_bModelSucc = false;
m_bModel_Mark_Succ = false;
m_bshowimg = false;
m_strRootPath_Big = "/home/aidlux/BOE/Algin/";
m_strRootPath_Mark = "/home/aidlux/BOE/MarkLine/";
m_strRootPath_Big = "/home/aidlux/BOE/Algin/BM/";
m_strRootPath_Mark = "/home/aidlux/BOE/MarkLine/BM/";
creatsavedir();
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)
{
creatsavedir();
static int sdk = 0;
std::string str = m_strSavePath_Big + std::to_string(sdk) + "_" + pDetConfig->strChannel + "_Img.png";
// 定位存图文件名:{产品ID}_{通道}_{模型序号(0大/1小/2Tag)}_Img(_mask).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);
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);
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");
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)
{
@ -2537,6 +2547,7 @@ int ImgCheckAnalysisy::AI_Edge(const cv::Mat &img, cv::RotatedRect &outerRoi, cv
config.strChannel = DetImgInfo_shareP->strChannel;
config.pBaseCheckFunction = m_pbaseCheckFunction;
config.bDetTag = m_pFuntion->function.f_supportDet.bDetTag; // 标签检测开关:关闭时不跑 Tag_Loc
config.strProductID = DetImgInfo_shareP->strImgProductID; // 定位存图文件名首位使用产品ID
/* 定位获取三个roi */
int re = m_pAI_Edge_Algin.Detect(img, &config, m_pEdge_Align_Result);

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

@ -982,10 +982,6 @@ int BaseFuntonConfigJson::GetFunction(Json::Value value)
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"])
{
_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();
}
if (value_f["form"]["SaveImg_Config"]["AI_Det_Save"])
{
_config.saveImg.bSaveAIDetImg = value_f["form"]["SaveImg_Config"]["AI_Det_Save"].asBool();
}
}
else
{

Loading…
Cancel
Save