This commit is contained in:
2025-10-29 17:20:27 +08:00
parent f723e26548
commit 2a55da4047
2 changed files with 11 additions and 14 deletions
+9 -12
View File
@@ -219,37 +219,34 @@ public:
}
}
void saveOri(std::shared_ptr <detData> data) {
void saveImage(std::shared_ptr <detData> data) {
QString oriSavePath= genDirName(data, oriImg, data->_saveMode);//获取文件夹名
createDirectoryIfNotExists(oriSavePath);//不存在此文件夹则创建
if (data->oriImgs.size() != 0) {
QString fileSavePath = genDirName(data, oriImg, data->_saveMode);//获取文件夹名
createDirectoryIfNotExists(fileSavePath);//不存在此文件夹则创建
std::vector<std::string>fileNames = genFileNames(data, oriImg);//按规则为文件创建命名
std::shared_ptr<saveJob> job (new saveJob("[ORI_JOB]" + data->SNcode));
packageData(job->imgQueue, fileSavePath.toLocal8Bit().toStdString(), fileNames, data->oriImgs);//打包数据
packageData(job->imgQueue, oriSavePath.toLocal8Bit().toStdString(), fileNames, data->oriImgs);//打包数据
saveThread.addJob(job);
}
}
void saveRes(std::shared_ptr <detData> data) {
QString fileSavePath = genDirName(data, resImg, data->_saveMode);//获取文件夹名
createDirectoryIfNotExists(fileSavePath);//不存在此文件夹则创建
QString resultSavePath = genDirName(data, resImg, data->_saveMode);//获取文件夹名
createDirectoryIfNotExists(resultSavePath);//不存在此文件夹则创建
std::shared_ptr<saveJob> job(new saveJob("[RES_JOB]"+ data->SNcode));
//结果图保存
if (data->resultImgs.size() != 0) {
std::vector<std::string>fileNames = genFileNames(data, resImg);//按规则为文件创建命名
packageData(job->imgQueue, fileSavePath.toLocal8Bit().toStdString(),fileNames, data->resultImgs);//打包数据
packageData(job->imgQueue, resultSavePath.toLocal8Bit().toStdString(),fileNames, data->resultImgs);//打包数据
}
//SEG原图
if (data->segOriginImgs.size() != 0) {
std::vector<std::string>fileNames = genFileNames(data, segImg);//按规则为文件创建命名
packageData(job->imgQueue, fileSavePath.toLocal8Bit().toStdString(),fileNames, data->segOriginImgs);//打包数据
packageData(job->imgQueue, oriSavePath.toLocal8Bit().toStdString(), fileNames, data->segOriginImgs);//打包数据
}
//CLS原图
if (data->clsOriginImgs.size() != 0) {
std::vector<std::string>fileNames = genFileNames(data, clsImg);//按规则为文件创建命名
packageData(job->imgQueue, fileSavePath.toLocal8Bit().toStdString(), fileNames, data->clsOriginImgs);//打包数据
packageData(job->imgQueue, oriSavePath.toLocal8Bit().toStdString(), fileNames, data->clsOriginImgs);//打包数据
}
saveThread.addJob(job, imgSaveThread::priority);
//额外储存NG文件夹
+2 -2
View File
@@ -99,8 +99,8 @@ public:
data->sqlVec.push_back({ "SN", data->SNcode });
data->sqlVec.push_back({ "totalCt", std::to_string(data->algoTime) + "ms" });
// 异步保存检测图像
std::thread([this,data] {_imgSaveThreadManager->saveOri(data); }).detach();
std::thread([this,data] {_imgSaveThreadManager->saveRes(data); }).detach();
std::thread([this,data] {_imgSaveThreadManager->saveImage(data); }).detach();
//std::thread([this,data] {_imgSaveThreadManager->saveRes(data); }).detach();
}
#pragma region 注册回调函数